【问题标题】:Finding min and max value JAVA查找最小值和最大值JAVA
【发布时间】:2017-04-20 07:41:27
【问题描述】:

我正在尝试学习一些 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;
    }
}

}

【问题讨论】:

  • 是时候学习调试了。

标签: java max min


【解决方案1】:

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

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

【讨论】:

  • 谢谢老兄...我很笨
【解决方案2】:

你需要这个:

minVal = Integer.MAX_VALUE;

否则,您将永远不会得到小于 0 的数字。

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2012-09-16
      • 2019-02-25
      • 2016-11-12
      • 1970-01-01
      • 2021-09-15
      • 2014-06-17
      • 2013-11-12
      • 2013-09-28
      • 2019-09-16
      相关资源
      最近更新 更多