2016-10-01 2 views
0

コマンドプロンプトに出力を出力するプログラムがありますが、これが起こったとします。コンソールには、ユーザーが入力しているものは何でも表示されるようにしますか?

while(true){System.out.println( "Something"); }

そして、別のスレッドでは、プログラムはユーザーからの入力を取得します。

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); 
try { input = reader.readLine(); } catch (Exception e) { /* Do Nothing */ } 

は今、同時に実行されている2つのスレッドがある、と私はの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キーを押した直後にプログラムが印刷されるため、私はあなたが望むものを知っていればいいと思う

+0

あなたは、3秒を数えて、あなたはそれを再起動するすべてのユーザーのキーストロークで3秒に達するとコンソールに再び書き始めます。 – assylias

+0

良い点assyliasの問題は、ユーザーが入力中に実行またはスリープを停止するようにプログラムに指示する方法ですか? – DerpyDog

答えて

0

「コマンドプロンプトに出力結果を出力するプログラムはありません」。

コンソールに書き込むプログラムがあります。

コンソールの目的は、シーケンシャル(テレタイプスタイル)のテキストストリームを送信する非常に簡単な方法を提供することです。

より複雑なものは、でなく、コンソールに書き込む必要があります。GUIを使用する必要があります。

Google AWTとJavaFXをご利用ください。

注:唯一存在していたのはテキスト端末であったが、コンピューティング産業のニーズは、すでにテレタイプが提供しなければならないものよりももっと幻想的な方法を求めていた。画面上の特定の場所にカーソルを置くため、そしてテキストの色を指定するためにさえ気の利いたような洒落た方法が発明されました。彼らは主に制御文字の特別なシーケンスを放出することによって働いた。今日のほとんどのシステムでは、デフォルトで取得するコンソールウィンドウは、そのような制御文字をサポートしていません。しかし、たとえそれがあったとしても、あなたは明示的に「プロのJavaプログラマー」の助けを求めました(おそらく、あなたはハッカーの意見を気にしませんか?)専門家は、古くから、複雑で謎めいた、そして最終的にはハッキーなやり方で、

+0

ええ、まだ、書き込みと印刷出力は同じものではないのですか?また、ハッカーになるために専門家である必要はありませんか?しかし、私は先に進み、java.awtライブラリ – DerpyDog

+0

を学ぶでしょう。はい、彼らは同じことです、あなたは間違った言葉に焦点を当てました。 2。いいえ、あなたがハッカーであれば専門家になる可能性は低く、プロフェッショナルであればハッカーになる可能性は低いです。 –

関連する問題