Java Scanner nicht "fertig" reading input

Habe ich Probleme mit java-der Scanner-Klasse. Ich kann es Lesen, meine Ideen ganz gut, aber das problem ist, wenn ich ausgeben wollen etwas. Gegeben mehrere Zeilen der Eingabe, die ich drucken möchte, nur EINE Zeile, wenn alle Eingabe wurde vollständig Lesen. Hier ist der code, den ich verwenden für Lesen Eingabe:

    public static void main(String[] args){
    Scanner scanner = new Scanner(System.in);   //scanner reads block of input
    while(scanner.hasNextLine()){    
        //body of loop goes here
        String s = scanner.nextLine();
        Scanner ls = new Scanner(s);   //scanner to parse a line of input
        while(ls.hasNext()){
        //body of nested loop goes here
        ls.next();
        }
    }
    System.out.println("Fin");
    }

Selbst wenn alle Linien der Eingabe gelesen wurde, das Programm nicht erreichen, das System.aus.println-Nachricht. (Beachten Sie, dass die Nachricht nicht irgendwo anders gehen, oder es wird ausgegeben, wie oft die Schleife ausgeführt wird). Wie kann ich dieses Problem beheben? Jegliche Hilfe würde sehr geschätzt werden.

Können Sie einige Fehler überprüfen Drucke in den beiden while-Schleifen und mir sagen, was es klemmt?
Ich versucht, indem Sie druckt in jeder Schleife, aber es scheint sich nicht um eine Endlosschleife, statt seine mehr wie die äußere while-Schleife wartet unendlich mehr input
jemand dachte, dass Sie weiter unten.
mögliche Duplikate von Wie zu beenden, Scanner, wenn die Eingabe vollständig ist?

InformationsquelleAutor mPierce | 2012-03-22

Schreibe einen Kommentar