scanner.nextLine() の使用
Java では、java.util.Scanner クラスの nextLine() メソッドが単一行を読み取ります。ストリームからのテキストの。これは、ユーザーからの入力を読み取るためによく使用されます。
次の例を考えてみましょう:
例 1: 単一行の読み取り
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); } }
この例では、 nextLine() メソッドは、文に対するユーザーの入力を読み取ります。インデックスの読み取りを続行する前に、ユーザーが値を入力するのを適切に待機します。
例 2: ループでの読み取り
// 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(); } } } }
この例では、 nextLine() メソッドがループ内の入力を読み取らない問題は、選択整数を読み取った後に、scanner.nextLine() を明示的に呼び出すことで解決されます。これにより、入力バッファーに残っている文字が確実に破棄され、文の nextLine() 呼び出しが正しく機能するようになります。
以上がJava の `scanner.nextLine()` は、特にループ内で入力をどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。