Bedeutung von xxx.nextline()

vjung

Aktives Mitglied
Java:
import java.util.Scanner;

public class Test {
   public static void main(String[] args) {
     Scanner keyboardReader = new Scanner(System.in);
     int intValue;
     while (true) {
       System.out.print("Zahl eingeben: ");
       intValue = keyboardReader.nextInt();
       System.out.println("Ausgabe: " + intValue);
       keyboardReader.nextLine();
     }
   }
}

Was für eine Bedeutung hat das "keyboardReader.nextLine()"?
Das Programm funktioniert ohne diese Zeile genauso wie mit. außerdem dachte ich xxx.nextLine() ist eine andere Schreibweise für xxx.next() und das verwendet man doch in der form: "String s = xxx.next()" bzw.. "String s = xxx.nextLine()"
 
Zuletzt bearbeitet von einem Moderator:

InfectedBytes

Top Contributor
nextInt liest die nächste Zahl ein und gibt sie zurück, das Problem ist allerdings folgendes:
Die Eingabe wird mit Enter bestätigt, im Puffer des Scanners liegt daher nicht nur die Zahl, sondern auch noch LF (line feed). nextInt liest nun aber nur die Zahl aus dem Puffer, LF wird nicht aus dem Puffer entfernt. nextLine() liest nun alles aus dem Puffer, bis zum LF und entfernt auch dieses.

Wenn du beispielsweise zwei nextInt() direkt hintereinander ausführst, wirst du nur vom ersten einen sinnvollen Wert zurückerhalten, da der zweite sofort zurückkehrt ohne überhaupt etwas neues einzulesen. Daher fügt man nach einem nextInt meist noch ein nextLine ein, nur um den LF aus dem Puffer zu nehmen.
 

Robat

Top Contributor
Wenn du beispielsweise zwei nextInt() direkt hintereinander ausführst, wirst du nur vom ersten einen sinnvollen Wert zurückerhalten,
Stimmt mMn nicht ganz. Das Problem würde nur dann auftreten wenn du nach einem nextInt() ein nextLine() aufrufst um einen String auszulesen. Dann würde dein nextLine() nur ein LF enthalten.
2 nextInt() hintereinander funktioniert.
 

Kababär

Top Contributor
Die Methoden next() und nextLine() sind quasi wie ein string.split("\\s+") zu betrachten.
Bei next() werden die Zeichen gelesen mit zum nächsten Delimiter (whitespace).
Würdest du also "2 4" eingeben würde folgendes rauskommen:
next(): 2
next(): 4
nextLine(): 2 4

nextLine() liest bis zum Zeilenende (typisch: LF oder CR LF, Unix oder Windows) und schiebt den cursor des Scanners in die nächste Zeile.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
laxla123 Bedeutung int random Java Basics - Anfänger-Themen 3
W Texteingabe - Bedeutung Fehlermeldung, Lösung? Java Basics - Anfänger-Themen 18
S Buchstaben Programmierung Bedeutung Java Basics - Anfänger-Themen 4
tobikoch String x= null Bedeutung Java Basics - Anfänger-Themen 9
Y Erste Schritte Bedeutung ? Java Basics - Anfänger-Themen 4
H .2 Bedeutung ? Java Basics - Anfänger-Themen 1
P Java Verketten von Stream - Bedeutung der Anweisungen? Java Basics - Anfänger-Themen 3
P java.lang.ClassCastException Bedeutung und Lösung Java Basics - Anfänger-Themen 3
U Interface Bedeutung "Code to an interface rather than to an implementation." Java Basics - Anfänger-Themen 4
B Operatoren Bedeutung des logischen Oders Java Basics - Anfänger-Themen 3
K Bedeutung von Methodensignaturen und Aufrufverhalten Java Basics - Anfänger-Themen 2
B Bedeutung von "Overhead" Java Basics - Anfänger-Themen 18
R Bedeutung,Zeichen Java Basics - Anfänger-Themen 7
V Erste Schritte Bedeutung von args Java Basics - Anfänger-Themen 10
J Bedeutung von math.random() math.round() Java Basics - Anfänger-Themen 7
G Schlüsselworte Bedeutung von abstract Java Basics - Anfänger-Themen 2
M Bedeutung von 0xFFFF Java Basics - Anfänger-Themen 4
C Bedeutung des "?" Java Basics - Anfänger-Themen 3
M Java codes bedeutung Java Basics - Anfänger-Themen 9
M "%" Bedeutung in Java ? (23 % 11=?) Java Basics - Anfänger-Themen 9
Bierhumpen import ? - bedeutung? Java Basics - Anfänger-Themen 5
K code bedeutung ">>" Java Basics - Anfänger-Themen 3
C Bedeutung von toString im Bezug auf Text Java Basics - Anfänger-Themen 4
R Bedeutung von Code Java Basics - Anfänger-Themen 4
A this. -> Bedeutung Java Basics - Anfänger-Themen 1
S Welche Bedeutung haben diese Wörter? Java Basics - Anfänger-Themen 2
R Bedeutung von \r Java Basics - Anfänger-Themen 4
N extends / implements / static, bedeutung ?? Java Basics - Anfänger-Themen 12
E bedeutung d. übergabewertes bei System.exit Java Basics - Anfänger-Themen 2
H Scanner nextLine() bringt Dateipfad Java Basics - Anfänger-Themen 1
T j.u.Scanner(Sys.in).nextLine() wieder schließen? Java Basics - Anfänger-Themen 5
F Scanner - nextLine() gibt leeren String zurück Java Basics - Anfänger-Themen 2
G Strings mit Scanner (nextLine) einlesen Java Basics - Anfänger-Themen 7
P Alternative zu scan.nextLine() Java Basics - Anfänger-Themen 4
gstarplayer [Verständnisprobleme] Java next(),nextLine,nextInt und parseInt! Java Basics - Anfänger-Themen 22
K .nextLine() Java Basics - Anfänger-Themen 5
M .nextLine() wird übersprungen Java Basics - Anfänger-Themen 6
A scan.nextLine() - Wenn man zu lange nichts macht, soll etwas passieren Java Basics - Anfänger-Themen 3
S Input/Output nextLine() Problem Java Basics - Anfänger-Themen 4
Z NoSuchElementException - Scanner.nextLine() Java Basics - Anfänger-Themen 4
K scan.nextLine Java Basics - Anfänger-Themen 5
S NullPointerException beim Checkbox-Label-Array mit nextLine() Java Basics - Anfänger-Themen 6
N Scanner next() oder nextLine() zur prüfung auf leere Eingabe... Java Basics - Anfänger-Themen 6
G warum überspringt er sc.nextLine()? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben