随机数组求其中最大值,最小值,平均值,以及大于平均值的最小值,并输出它的下标

img


求一个简单的写法 新手简单一点

public void testMM(){
    Random random = new Random();
    int[] numbers = new int[10];
    for (int i = 0; i < 10; i++) {
        numbers[i] = random.nextInt(100);
    }
    int min = Arrays.stream(numbers).sorted().min().getAsInt();
    int max = Arrays.stream(numbers).sorted().max().getAsInt();
    double avg = Arrays.stream(numbers).average().getAsDouble();
    int avgMin = Arrays.stream(numbers).filter(number -> number > avg).min().getAsInt();
    for (int i = 0; i < numbers.length; i++) {
        int temp = numbers[i];
        if (min==temp){
            System.out.printf("最小值为:%d,下标为:%d\n",min,i);
        }
        if (max==temp){
            System.out.printf("最大值为:%d,下标为:%d\n",max,i);
        }
        if (avgMin==temp){
            System.out.printf("大于平均值的最小值为:%d,下标为:%d\n",avgMin,i);
        }
    }
}