如果我允许用户在同一行输入以空格分隔的数字,
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,则表示它已读取所有输入令牌。