查找最小值和最大值 JAVA

Finding min and max value JAVA

我正在尝试学习一些 JAVA,目前我正在做一些基本程序,我需要从文件中读取然后找到最小值和最大值,但在我的代码中我只能找到最大值并且 MIN 值不起作用。它只是显示我分配的值。有人可以帮我吗?到目前为止,这是我的代码。

public class uzduotis {

public static void main(String[] args) {

    int[] data = fileReading("skaiciai");

    System.out.println(Arrays.toString(data));

}

// Reads numbers from file
public static int[] fileReading(String failas) {
    int minVal = 0, maxVal = 0;
    try {

        File f = new File(failas);
        Scanner s = new Scanner(f);
        int ctr = 0;
        while (s.hasNextInt()) {
            ctr++;
            s.nextInt();
        }

        int[] arr = new int[ctr];

        Scanner s1 = new Scanner(f);

        for (int i = 0; i < arr.length; i++) {
            arr[i] = s1.nextInt();
             maxVal = Math.max(maxVal, arr[i]);
             minVal = Math.min(minVal, arr[i]);
        }

        System.out.println("Largest is " + maxVal);
        System.out.println("Smallest is " + minVal);
        return arr;
    } catch (Exception e) {
        return null;
    }
}

}

您已将 minVal 设置为 0,这个数字已经很小了。把它改成一个很大的数字就是你需要做的。

这可能是因为您将 minVal 设置为 0,所以您的正整数输入的 none 小于它。

在声明数组后添加 minVal = arr[0];

你需要这个:

minVal = Integer.MAX_VALUE;

否则你将永远不会得到比你开始的 0 更小的数字。