2016-12-04 51 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 ());