2

自己練習として、コンソールを介して I/O を行うBFインタープリターを Java で作成しています。ほとんどの場合は問題ありませんが、お気づきかもしれませんが、BF は一度に 1 文字 (改行を含む) の入力を受け取ります。これは、私が知る限り、標準のコンソール入力ライブラリが機能しないことを意味します。これは、文字列全体を取り込んで、最後にリターンを要求するためです。入力時に印刷せず,に、に収まる次のキーストロークを取り込みたい。したがって、BF が入力を要求し、と入力すると、BF プログラムが後でそれ自体を出力しない限り、コンソールに表示されません。char aaa

これどうやってするの?

4

3 に答える 3

1

JLine http://jline.sourceforge.netを使用することをお勧めします

Terminalクラスには、必要disableEcho()なことを行うメソッドがあります。

于 2011-11-04T16:52:01.520 に答える
0

フレーム内の textArea と keyListener を使用して、独自のコンソール出力/入力を記述します。

于 2011-11-04T16:49:32.893 に答える
0

チェックアウトjava.io.Console- でエコーなしの文字列を読み取ることができますreadPassword()。ただし、これはまだ行指向であるため、ユーザーが Enter キーを押すまで何も受け取りません。別の考えられる欠点は、コンソールがない可能性があることです-アプリの起動方法によって異なります.

于 2011-11-04T17:22:17.793 に答える