首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java System.in问题

Java System.in问题
EN

Stack Overflow用户
提问于 2011-01-16 09:49:46
回答 2查看 406关注 0票数 1
代码语言:javascript
复制
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还能工作吗?

出口

我还在工作,好吗?

出口

正在退出

有人能解释一下为什么会发生这种情况吗?我的意思是,事实上,扫描仪没有捕捉到单词exit的第一次出现。

EN

回答 2

Stack Overflow用户

发布于 2011-01-16 09:54:38

这段代码是正确的,它对我来说也是有效的--您确定您已经编译并运行了最新的代码吗?

代码语言:javascript
复制
e
IM STILL WORKING ok?
e
IM STILL WORKING ok?
e
IM STILL WORKING ok?
ex
IM STILL WORKING ok?
exit
EXITING
票数 0
EN

Stack Overflow用户

发布于 2011-01-16 10:31:54

我想我知道问题出在哪里了。现在就复制了..。按了几次输入按钮(按钮e),然后按下快速返回按钮(enter)。这就是为什么有些行既有输入又有输出。在此之后,扫描程序将无法获取第一次出现的退出。这对我来说没有多大意义,因为我认为我所做的应该不会造成任何麻烦。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4703322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档