首页 > 解决方案 > 如何在 java 文本文件中找到最大和最小的数字?

问题描述

我的教授让我编写一个程序来分析文本文件并打印出该文件的最小值和最大值。我写了以下代码:

import java.util.Scanner;
import java.io.File;
public class findMaxAndMin {
    public static void main(String[] args) {
        File myFile = new File("NumberFile.txt");
        try {
            Scanner doubleScanner = new Scanner(myFile);
            while (doubleScanner.hasNextDouble()) {
                double currentDouble = doubleScanner.nextDouble();
                System.out.println(currentDouble);
                double biggestNumber = doubleScanner.nextDouble();
                double smallestNumber = doubleScanner.nextDouble();
                if (currentDouble > biggestNumber) {
                    currentDouble = biggestNumber;
                }
                if (currentDouble < smallestNumber) {
                    currentDouble = smallestNumber;
                }
                System.out.println("The largest number is " + biggestNumber);
                System.out.println("the smallest number is " + smallestNumber);
            }
        } catch (Exception l) {
            System.err.println(l.getMessage());
        }
    }
}

我最终在我的 Git 命令行中得到了这个明显不准确、混乱的输出:

$ java findMaxAndMin
100.0

The largest number is 200.0

the smallest number is 20.0

2.0

The largest number is 550.0

the smallest number is 7000.0

文本文件具有以下值:

100

200

20

2

550

7000

所以,程序应该打印出两条语句,声明“最小的数是 2”和“最大的数是 7000”。如何轻松更正此代码?我不是一个有经验的程序员。及时回复将不胜感激,因为这项任务是在午夜完成的。

标签: java

解决方案


我建议大声阅读代码。这是一种基本的调试方法,称为Rubber Duck Debugging

大学是关于学习的。如果我发现了问题并将其展示给您,我实际上会损害您的学习。(成绩好固然好,但获得成绩更好!)


推荐阅读