我怎么知道扫描器已经读取了所有的输入?



如果我允许用户在同一行输入以空格分隔的数字,

Scanner scan = new Scanner(System.in);
String input = scan.next();

例如,如果用户输入"1 2 3 4",它读取1,2,3和4一次一个。有什么方法可以让我知道扫描仪什么时候读取了所有的数据?这对我正在实施的项目至关重要。

如果我正确理解你的问题,你正在寻找scanner.hasNext():

Scanner scanner=new Scanner(System.in);
String input = scanner.next();
System.out.println(input); 
while(scanner.hasNext())
System.out.println(scanner.next());

所以这里你正在检查是否有下一个令牌可供扫描仪处理。如果Scanner.hasNext()返回false,则表示它已读取所有输入令牌。

最新更新