2013-03-03 80 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); 
相關問題