我想在输入完成时实现Scanner终止。作为终止,我选择空白行 - 只需输入密钥即可。但由于某些原因(我不知道),下面的实现不起作用。你知道为什么吗?或许你知道更好的解决方案吗?
Scanner scanner = new Scanner(System.in);
while (!scanner.nextLine().startsWith("\n")) {
// code
}
// code after press just Enter
我也试过了:
while (!scanner.nextLine().equals("\n"))
......或:
while (scanner.nextLine().isEmpty())
什么都行不通......
PS。有些人可能会认为我复制了这个主题: How to terminate Scanner when input is complete?
但是我是故意这样做的,因为我现在要问具体的实施,而不是一般的扫描仪终止。
答案 0 :(得分:1)
您需要查找scanner.nextLine()。length()== 0
由于\ n是行终止符,因此扫描程序不会返回它,类似于解析字符串或使用StringTokenizer的概念。您只需要查找零长度字符串。