package HomeWork;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Scanner;
/**
* 2. 获取数组最大值和最小值操作:利用Java的Math类的random()方法,编写函数得到0到n之间的随机数,n是参数。
* 并找出产生50个这样的随机数中最大的、最小的数,并统计其中>=60的有多少个。
提示:使用 int num=(int)(n*Math.random());获取随机数。
* @author lenovo
*
*/
public class HomeWork02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入生成的随机数个数:");
int m = scanner.nextInt();
System.out.println("请输入生成的随机数的上限:");
int n = scanner.nextInt();
int[] array = intRandom(m, n);
System.out.println(Arrays.toString(array));
System.out.println("###################################");
System.out.println("请输入需要比较的值:");
int k = scanner.nextInt();
arrayMinMax(array, k);
}
//生成m个值在[0,n]之间的整数,并保存至数组返回
static int[] intRandom(int m, int n){
int[] array = new int[m];
for(int i=0;i<array.length;i++){
array[i] = (int)(n*Math.random());
}
System.out.println("共随机生成"+m+"个值在[0,"+n+"]之间的整数");
return array;
}
//找出数组中最大、最小的数,并统计>=k的有多少个
static void arrayMinMax(int[] array,int k){
int count = 0;
Arrays.sort(array);
System.out.println("最小的值为:"+array[0]);
System.out.println("最大的值为:"+array[array.length-1]);
for(int temp:array){
if(temp>=k){
count++;
}
}
System.out.println("其中>="+k+"的有"+count+"个");
}
}