题目描述:
定义一个int型的一维数组,包含10个元素,分别赋一些随机数,然后求出所有元素的最大值,最小值,和值,平均 值,并输出出来。
要求:所有随机数都是两位数。[10,99]
解析:
在本题中,最为需要注意的点有:
1)、如何使用Java自带的产生随机数的函数,产生一定范围的数
2)、在比较最大值与最小值的时候,我们可以以开头的元素为基准,防止出现错误
下面是产生特定随机数的方法总结:
[0.0,1) Math.random():
[0.0,90.0) Math.random()*90:
[0,89] (int)Math.random()*90:
[10,99] (int)(Math.random()90+10):
公式:获取[a,b]范围的随机数:(int)(Math.random()(b-a+1))+a
public class ArrayTest1 {
public static void main(String[] args) {
int[] arr = new int[10]; //定义一个长度为10的一维数组
//循环遍历进行赋值
for (int i = 0; i < arr.length; i++) {
arr[i] = (int)(Math.random()*90)+10;
}
//循环输出进行测试
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+"\t");
}
System.out.println();
//找出数组中的最大值
int max = arr[0]; //不赋值为0 的原因如果都是负数的话,输出的结果都为0
for (int i = 0; i < arr.length; i++) {
if(max<arr[i]) {
max = arr[i];
}
}
System.out.println("随机数中的最大值为:"+max);
int min = arr[0]; //不赋值为0 的原因如果都是负数的话,输出的结果都为0
for (int i = 0; i < arr.length; i++) {
if(min>arr[i]) {
min = arr[i];
}
}
System.out.println("随机数中的最小值为:"+max);
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum = sum+arr[i];
}
System.out.println("随机数中的和为:"+sum);
int avg = sum /arr.length;
System.out.println("平均数为:"+avg);
}
}