2012-09-27 53 views
0

我到目前爲止的代碼變量分配到一個文本文件中的行的Java文件是:如何通過線

public class Project4 { 

    public static void main (String[] args) throws IOException { 

     final double OUNCES_PER_POUND = 16.0; 
     double pricePerPound; 
     double weightOunces; 
     double weightPounds; 
     double totalPrice; 
     String itemName; 

     Scanner fileScan = new Scanner(new File(args[0])); 

     NumberFormat money = NumberFormat.getCurrencyInstance(); 
     DecimalFormat fmt = new DecimalFormat("0.00"); 

     // Missing code that reads variables from text file goes here 

     weightPounds = weightOunces/OUNCES_PER_POUND; 
     totalPrice = weightPounds * pricePerPound; 


     System.out.println("Item: " + itemName); 
     System.out.println("Unit Price: " + money.format(pricePerPound)); 
     System.out.println("Weight: " + fmt.format(weightPounds) + " pounds"); 
     System.out.println("TOTAL: " + money.format(totalPrice)); 
    } 

} 

我試圖做的是弄清楚如何從拉變量文本文件。該文件必須在命令行中聲明爲參數,這就是爲什麼標題按原樣設置的原因。文本文件基本上是我需要的三個變量,每個都在一個單獨的行上。

我希望有人給我一個提示,或者指點一下我需要做些什麼來設置變量,以便我可以從文本文件中聲明每行,因爲它是自己單獨的變量。

+1

看看 http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Scanner.html –

+0

這是有用的信息,我謝謝你,但我不因爲第一行有空白區域,所以認爲它對我有用。如果我知道每次使用相同數量的單詞並將它們分組時,我實際上可以使用此方法,但我希望能夠讓代碼將所有內容都拉出來。 – User2

+0

你不能只是使用for-loop和http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Scanner.html#nextLine將整個文件解析爲字符串數組)?那麼你可以從那裏解析字符串數組? –

回答

1

如果變量出現在最簡單的格式可能,例如此鏈接:

3.5 
5.2 
My Item 

,那麼你可以在值與閱讀:

weightOunces = fileScan.nextDouble(); 
fileScan.nextLine(); 
weightPounds = fileScan.nextDouble(); 
fileScan.nextLine(); 
itemName = fileScan.nextLine(); 

fileScan.nextLine()之後需要nextDouble()語句消耗換行符。

+0

優秀信息,謝謝! – User2