5

コマンドラインインターフェースを作っているとしましょう。文字列を印刷してから変更したい。たとえば、プログラムを実行すると、次のように出力されます。

Hello, World!

ただし、数秒後、メッセージは次のように変更されます。

Hello, Computer User!

これは可能ですか?クロスOSが望ましいでしょう。

4

2 に答える 2

5

バックスペースであるエスケープ シーケンスをエコーし\b​​、古いメッセージの代わりに新しいメッセージを書き出すことができます。

コンソール自体とその解釈方法次第であるため、これは完全にクロスプラットフォームではない可能性があることに注意してください。ただし、\bほとんどの場合は機能するはずです。

于 2013-03-07T06:21:27.600 に答える
3

試す

    String s1 = "Hello, word!";
    System.out.print(s1);
    Thread.sleep(1000);
    for(int i = 0; i < s1.length(); i++) {
        System.out.print('\b');
    }
    System.out.print("Hello, computer user");

Eclipse からは機能しないことに注意してください。コマンド ラインから実行してください。

于 2013-03-07T06:42:17.753 に答える