【发布时间】:2016-10-01 16:11:51
【问题描述】:
我有一个将输出打印到命令提示符的程序,但假设会发生这种情况。
while (true) { System.out.println("Something"); }
然后在另一个线程中,程序将从用户那里获取输入。
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try { input = reader.readLine(); } catch ( Exception e ) { /* Do Nothing */ }
现在,有两个线程同时执行,如果我尝试输入Hello World,就会发生这种情况;
Something
Something
Something
Something
HSomething
elloSomething
Something W
Something orl
Something d
Something
有没有办法让用户输入的内容保持在底部,我希望它是这样的;
Something
Something
Something
Something
Something
Something
Something
Hello World
Something
P.S:读者仍然可以分辨出用户输入了哪些内容以及程序打印了什么内容。但是用户会发现很难分辨哪个是哪个。 P.P.S:假设是这样的;
Something
Something
Hello World
Something
因为程序在用户按下 Enter 后立即打印;我希望你知道我想要什么。
【问题讨论】:
-
你可以有一种计时器,比如计数 3 秒:在每次用户击键时重新启动它,如果它确实达到了 3 秒,则再次开始写入控制台。
-
好点 assylias 问题是如何告诉程序在用户输入时停止执行或休眠?
标签: java