Math.random()的使用
Math.random()是用于随机生成一个[0.0, 1.0) 的伪随机 double 值.
- 随机生成[a, b): (int)(Math.random()*(b-a)+a)
- 随机生成[a, b] (int)(Math.random()*(b-a+1)+a)
例题:
定义一个int型的一维数组,包含10个元素,分别赋予一些随机的整数,然后求所有元素的最大值,最小值,和值,平均值。并输出。
要求:所有随机数都是两位数。
详解如下:
public class ArrayTest1{
public static void main(String[] args) {
//声明 初始化 new 一个数组
//考虑到两位数,所以范围[10,99],
//采用取范围之内随机数的公式:Math.random()*(99-10+1)+10
int[] arr = new int[10];
//遍历[10,99]范围内的整数,并赋值
for(int i = 0;i < arr.length;i++) {
arr[i] = (int)(Math.random()*(99 - 10 + 1) + 10);
System.out.print(arr[i] + "\t");
}
System.out.println();
//int max取arr数组范围内的第一个数,如果其他数大于max,则,max = 该数
int max = arr[0];
for(int i = 1;i < arr.length;i++) {
if(max < arr[i]) {
max = arr[i];
}
}
System.out.println("最大数为:" + max);
int min = arr[0];
for(int i = 1;i < arr.length;i++) {
if(min > arr[i]) {
min = arr[i];
}
}
System.out.println("最小值为:" + min);
int sum = 0;
for(int i = 0;i < arr.length;i++) {
sum += arr[i];
}
System.out.println("总和为:" + sum);
int averade = 0;
averade = sum / arr.length;
System.out.println("平均数为:" + averade);
}
}