寻找最小值和最大值JAVA

时间:2016-12-05 19:56:08

标签: java max min

我正在尝试学习一些JAVA,目前我正在做一些基本程序,我需要从文件中读取然后找到MIN和MAX值,但在我的代码中我只能找到MAX值而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;
    }
}

}

3 个答案:

答案 0 :(得分:1)

这可能是因为您将minVal设置为0,因此您的正整数输入都不会小于它。

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

答案 1 :(得分:1)

你需要这个:

minVal = Integer.MAX_VALUE;

否则你永远不会得到一个低于0的数字。

答案 2 :(得分:0)

您已将minVal设为0,这是一个已经很小的数字。将其更改为大量是您需要做的。