2016-12-04 2 views
0

Eingabedatei in Java mit dem Lesen verdoppelt helfen:Benötigen Sie in einer Eingabedatei

John 100000,555

Mary 278,0

Joe 43,7956

Chris .25

Im Wesentlichen Woran ich Probleme habe, ist, die doppelten Werte in meinen Code zu integrieren, ich habe es versucht und gesucht in den letzten paar Stunden, hatte aber kein Glück.

** Hier ist mein Code: ** 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(); 

} 
} 

NICHT PRINTING ZAHLEN, MÜSSEN ZAHLEN MIT RECHT AUF DRUCK rechtfertigen.

+0

Ich habe keine Ahnung, was Ihr genaues Problem ist, wie Sie nicht beschreiben, was passiert, wenn Sie versuchen, diesen Code auszuführen – UnholySheep

+0

In der ersten Schleife, rufen Sie input.next() 'zweimal in Ihrer Schleife, einmal zu lesen Name, und der andere Aufruf ignoriert/ignoriert den gelesenen Wert. Die zweite Schleife wird wahrscheinlich nie ausgeführt, weil Sie in der ersten bereits so viel wie möglich gelesen haben. – Robert

Antwort

1

Was Sie tun können, um die nächste Zeile zuerst als String gelesen wird und dann zu einem Doppel analysieren es, ich kann es nicht richtig noe versuchen, aber es könnte funktionieren: doppelte Menge = Double.parseDouble (input.next());