我意识到hasNext()用于检查是否会有下一个输入,但我的hasNext会出于某种原因提示输入。这是我的代码:
Scanner sc = new Scanner(System.in);
while (!sc.hasNext("quit")) {
System.out.println("Type anything other than quit to keep inputting. ");
sc.nextLine();
}
我的程序正确执行的是它让我输入内容(在输入提示之前),然后弹出“键入除退出之外的任何内容”的提示,程序正常运行。但是,我不想要第一个空白输入。为什么弹出这个,我该如何解决?
答案 0 :(得分:0)
next()和hasNext()方法及其原始类型的伴侣 方法(如nextInt()和hasNextInt())首先跳过任何输入 匹配分隔符模式,然后尝试返回下一个 令牌。 hasNext和next方法都可能阻止等待进一步 输入。 hasNext方法块是否与or无关 不会阻止其相关的下一个方法。
因此,当您输入一行时,您将进入您的身体。
写点像
String next = "";
while (!next.equals("quit")) {
System.out.println("Type anything other than quit to keep inputting. ");
next = sc.nextLine();
}