2016-12-04 48 views
0

輸入文件:需要幫助的Java與閱讀雙打輸入文件

約翰100000.555

瑪麗278.0

喬43.7956

克里斯0.25

從本質上講,我遇到的麻煩是試圖將雙重值集成到我的代碼中,我試過並搜索過這個過去幾個小時,但沒有運氣。

**這是我的代碼:** import java.io. *;

import java.util.Scanner; 

public class Treasury { 

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

    Scanner input = new Scanner(new File("Treasury.txt.txt")); 

    System.out.print(String.format("%15s", "Balance")); 
    System.out.print(String.format("%2s", "")); 
    System.out.println(String.format("%-10s", "Name")); 
    System.out.println("--------------- ----------"); 

    int count = 0;  

    while(input.hasNext()) 
    { 
     String name = input.next(); 
     input.next(); 
     String s = String.format("%-10s", "     " + name); 
     System.out.println(s); 
    } 

    while(input.hasNextLine()) 
    {  
     double amount = input.nextDouble(); 
     System.out.printf("%15.2f", amount);  
    } 

    input.close(); 

} 
} 

不印數,需要打印的數字與右對齊。

+0

我不知道你確切的問題是什麼,因爲你沒有描述當你試圖運行代碼時會發生什麼 – UnholySheep

+0

在第一個循環中,你在循環中調用input.next()'兩次,一次讀取名稱,而另一個調用忽略/丟棄讀取的值。第二個循環可能永遠不會運行,因爲您已經在第一個循環中讀取儘可能多的輸入。 – Robert

回答

1

你可以做的是先讀下一行作爲一個字符串,然後將其解析爲雙,我不能嘗試是正確的,但NOE它可以工作: 雙倍金額= Double.parseDouble(input.next ());