2013-03-03 79 views
2

我正在介绍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); 
    } 
} 

我的问题是搞清楚如何格式化代码行,每个值与存储的最低值。如果我将(最低=最低<数字)更改为(最低=最低+数字)并添加累加器,程序将在我的文件中添加所有值并显示它们,因此我知道程序的导入部分正常工作。我只是不清楚如何制定一个比较陈述来显示最低值。

请帮忙我难住。 感谢

回答

0

尝试这样:

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

,或者你可以尝试:

Math.min(lowest, number); 

在每次循环。

+0

if语句工作像一个魅力。感谢您的帮助。现在看它就完全有意义了。 – 2013-03-04 00:55:41

+0

所以我试图扭转if语句的最高值,它不会工作。我有,如果(数字>最高)最高=数字;它只返回0.0,这是我的累加器设置。请再帮助一次lokoko或其他人 – 2013-03-04 01:35:57

+0

你初始化的最高值是什么? – lokoko 2013-03-04 05:18:15

1

首先,初始化lowest正无穷大,这样它比任何输入大:

double lowest = Double.POSITIVE_INFINITY; 

在循环中,简单地采取的lowest越小,输入:

lowest = Math.min(lowest, number); 
相关问题