我正在介绍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;数字)更改为(最低=最低+数字)并添加累加器,程序将添加我的文件中的所有值并显示它们,因此我知道程序的导入部分有效。我不清楚如何制定比较语句以使其显示最低值。
请帮助我难倒。 感谢
答案 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);
每次都在循环中。