Eingang Lesen, Zeile für Zeile
Wie lese ich die Eingabe zeilenweise in Java? Ich suchte und bisher habe ich dieses:
import java.util.Scanner;
public class MatrixReader {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while (input.hasNext()) {
System.out.print(input.nextLine());
}
}
Das problem mit diesem ist, dass es nicht das Lesen der letzten Zeile. Also, wenn ich input
10 5 4 20
11 6 55 3
9 33 27 16
sein Ausgang wird nur
10 5 4 20 11 6 55 3
Funktioniert bei mir mit deinen genauen code. Vergessen Sie nicht, drücken Sie die EINGABETASTE.
Warum nicht
Ich glaube, Sie haben kopiert, eingefügt als alle input-Variablen auf einmal
Lol, ich wusste nicht, drücken Sie die EINGABETASTE. Ich fühle mich dumm jetzt.
Warum nicht
Scanner.hasNextLine
?Ich glaube, Sie haben kopiert, eingefügt als alle input-Variablen auf einmal
Lol, ich wusste nicht, drücken Sie die EINGABETASTE. Ich fühle mich dumm jetzt.
InformationsquelleAutor spacitron | 2012-08-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Idealerweise sollten Sie hinzufügen eine endgültige println() verwenden, da standardmäßig System.aus verwendet ein PrintStream, die nur spült, wenn ein newline gesendet wird. Sehen Wann/warum das aufrufen von System.aus.flush() in Java
Zwar gibt es andere mögliche Gründe für Ihr Problem.
InformationsquelleAutor Dan Gravell
Versuchen Sie es mit
hasnextLine()
Methode.InformationsquelleAutor Kumar Vivek Mitra
Den zuvor geposteten Vorschläge haben typo (hasNextLine Rechtschreibung) und new line drucken (println benötigt jeder Zeile) Probleme. Unten ist die korrigierte version --
InformationsquelleAutor Robert Field