public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
if (sc.next().equals("exit")){
System.out.println("EXITING");
System.exit(0);
} else {
System.out.println("IM STILL WORKING ok?");
}
}
}
}
所以这是我前几天写的一段代码,试图想出来(并不重要)。执行此代码的结果是:
eIM还在工作吗?
eIM还在工作吗?
出口
我还在工作吗?
出口
EXITING
有人可以解释为什么会这样吗?我的意思是扫描仪没有捕获单词exit的第一个出现的事实。
答案 0 :(得分:0)
这段代码是正确的,它对我有用 - 你确定你已经编译并运行了最新的代码吗?
e
IM STILL WORKING ok?
e
IM STILL WORKING ok?
e
IM STILL WORKING ok?
ex
IM STILL WORKING ok?
exit
EXITING
答案 1 :(得分:0)
我想我知道问题是什么。立即复制...按下几次输入按钮(按钮e),然后按下快速返回按钮(输入)。这就是为什么有些行同时具有输入和输出。之后,Scanner无法获得第一次退出。这对我来说没有多大意义,因为我认为我所做的不应该造成任何麻烦。