使用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中文網其他相關文章!