如何单独而不是整体获得最小值和最大值?

How to get minimum and maximum individually and not as a whole?

程序执行此操作:

检查最大值和最小值是否在 运行s 的整个过程中发生变化,然后根据用户输入在每个实例完成后将它们打印到各自的变量。

但我想要它做的是:

检查每个个体的最大值和最小值 运行,然后将它们打印到相应的变量。

如何更改下面的代码,使其获取每个 运行 的最大值和最小值而不是整体的最大值和最小值?

代码如下:

package test;
import java.util.*;

public class Test {

    public static void main(String[] args) {

        Random generator = new Random();
        float smallest, largest;
         int years;
         float[] array = new float[12];

         smallest = Integer.MAX_VALUE;
largest = Integer.MIN_VALUE;
Scanner keyboard = new Scanner(System.in);
System.out.print("Enter desired years: ");
years = keyboard.nextInt();

for (int i = 1; i <= years; i++){
    System.out.println("Year " + i);
    for (int month = 1; month <= array.length; month++){
    array[i] = generator.nextFloat() * 100;
    System.out.println("Month " + month + ": " + array[i]);
    if(array[i] < smallest) 
        smallest = array[i];
    if(array[i] > largest) 
        largest = array[i];

}
    System.out.println("Max = " + largest);
    System.out.println("Min = " + smallest);
}

您没有在循环结束时重置最大和最小值。

package test;

import java.util.*;

public class Test {

    public static void main(String[] args) {

        Random generator = new Random();
        float smallest, largest;
        int years;
        float[] array = new float[12];

        smallest = Integer.MAX_VALUE;
        largest = Integer.MIN_VALUE;
        Scanner keyboard = new Scanner(System.in);
        System.out.print("Enter desired years: ");
        years = keyboard.nextInt();

        for (int i = 1; i <= years; i++) {
            System.out.println("Year " + i);
            for (int month = 1; month <= array.length; month++) {
                array[i] = generator.nextFloat() * 100;
                System.out.println("Month " + month + ": " + array[i]);
                if (array[i] < smallest)
                    smallest = array[i];
                if (array[i] > largest)
                    largest = array[i];

            }
            System.out.println("Max = " + largest);
            System.out.println("Min = " + smallest);

            // HERE
            // Reset largest and smallest
            largest = Integer.MIN_VALUE;
            smallest = Integer.MAX_VALUE;
        }
    }
}