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