Java Scanner-Klassenlesezeichenfolgen [duplizieren]
Diese Frage hat hier bereits eine Antwort:
Zeichenfolgen für das Lesen der Java Scanner-Klasse 5 AntwortenIch habe folgenden Code erhalten:
int nnames;
String names[];
System.out.print("How many names are you going to save: ");
Scanner in = new Scanner(System.in);
nnames = in.nextInt();
names = new String[nnames];
for (int i = 0; i < names.length; i++){
System.out.print("Type a name: ");
names[i] = in.next();
}
System.out.println(names[0]);
Wenn ich diesen Code ausführe, erkennt der Scanner nur den Vornamen und nicht den Nachnamen. Und es wird manchmal eine Zeile übersprungen, wenn versucht wird, einen Namen einzugeben. Es wird angezeigt, als hätte ich den Namen leer gelassen und zum nächsten Namen gesprungen. Ich weiß nicht, was das verursacht.
Ich hoffe mir kann jemand helfen!
EDIT: Ich habe versucht in.nextLine (); Es korrigiert die vollständigen Namen, behält aber trotzdem eine Zeile bei. Hier ist ein Beispiel für die Ausgabe:
How many names are you going to save: 3
Type a name: Type a name: John Doe
Type a name: John Lennon