比较输入文件中列表中的数字

时间:2013-03-03 15:20:20

标签: java jgrasp

我正在介绍java并且对这一挑战感到难过。我在这里搜索了我的书和有用的链接,但没有发现任何与我正在做的事情有关的事情。

挑战在于在记事本文件中创建数字列表。 java程序必须导入数字,将每个数字进行比较,然后打印出列表中具有最低值的数字。

在这里输入代码

这是我的代码

import java.io.*;
import java.util.Scanner;

/**
Aaron Moores
March 2, 2013
Input: Numbers file
Output: Highest number, lowest number
*/

public class LargenSmall
{
    public static void main(String[] args) throws IOException
    {
    String filename;        //Numbers file
    double lowest;

    //Open the file
    File file = new File("Number.txt");
    Scanner inputFile = new Scanner(file);

    lowest = 0.0;

    //Read all the values in Numbers file and find the lowest value
    while (inputFile.hasNext())
    {
    //Read a number in the file
    double number = inputFile.nextDouble();
    lowest =  < number;
    }

    //Close file
    inputFile.close();

    //Print out lowest value in the list
    System.out.println("The lowest number in your file called, " +
                            "Numbers.txt is " +lowest);
    }
}

我的问题是弄清楚如何格式化比较每个值以存储最低值的代码行。如果我将(最低=最低&lt;数字)更改为(最低=最低+数字)并添加累加器,程序将添加我的文件中的所有值并显示它们,因此我知道程序的导入部分有效。我不清楚如何制定比较语句以使其显示最低值。

请帮助我难倒。 感谢

2 个答案:

答案 0 :(得分:1)

首先,将lowest初始化为正无穷大,使其大于任何输入:

double lowest = Double.POSITIVE_INFINITY;

在循环中,只需使用较小的lowest和输入:

lowest = Math.min(lowest, number);

答案 1 :(得分:0)

尝试这样的事情:

while (inputFile.hasNext())
{
//Read a number in the file
double number = inputFile.nextDouble();
if (number < lowest) lowest = number;
}

或者您可以尝试:

Math.min(lowest, number);

每次都在循环中。