Verwendung von scanner.nextLine()
In Java liest die Methode nextLine() aus der Klasse java.util.Scanner eine einzelne Zeile von Text aus einem Stream. Es wird üblicherweise zum Lesen von Eingaben des Benutzers verwendet.
Betrachten Sie die folgenden Beispiele:
Beispiel 1: Lesen einer einzelnen Zeile
import java.util.Scanner; class Test { public void menu() { Scanner scanner = new Scanner(System.in); System.out.print("Enter a sentence:\t"); String sentence = scanner.nextLine(); System.out.print("Enter an index:\t"); int index = scanner.nextInt(); System.out.println("\nYour sentence:\t" + sentence); System.out.println("Your index:\t" + index); } }
In diesem Beispiel liest die Methode nextLine() die Eingabe des Benutzers für den Satz. Es wartet ordnungsgemäß darauf, dass der Benutzer einen Wert eingibt, bevor es mit dem Lesen des Index fortfährt.
Beispiel 2: Lesen in einer Schleife
// Example 2 import java.util.Scanner; class Test { public void menu() { Scanner scanner = new Scanner(System.in); while (true) { System.out.println("\nMenu Options\n"); System.out.println("(1) - do this"); System.out.println("(2) - quit"); System.out.print("Please enter your selection:\t"); int selection = scanner.nextInt(); if (selection == 1) { System.out.print("Enter a sentence:\t"); String sentence = scanner.nextLine(); System.out.print("Enter an index:\t"); int index = scanner.nextInt(); System.out.println("\nYour sentence:\t" + sentence); System.out.println("Your index:\t" + index); } else if (selection == 2) { break; } else { System.out.print("Invalid input. Please try again: "); scanner.nextLine(); } } } }
In diesem Beispiel wird der Das Problem, dass die nextLine()-Methode keine Eingaben in der Schleife liest, wird durch den expliziten Aufruf von scanner.nextLine() nach dem Lesen der Auswahl-Ganzzahl behoben. Dadurch wird sichergestellt, dass alle verbleibenden Zeichen im Eingabepuffer verworfen werden, sodass der nextLine()-Aufruf für den Satz ordnungsgemäß funktioniert.
Das obige ist der detaillierte Inhalt vonWie verarbeitet Javas „scanner.nextLine()' Eingaben, insbesondere in Schleifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!