• 締切済み

java テキストをその場で表示して書き換え

日曜プログラマーです。 javaをCUIで利用してテキスト処理や計算に利用しています。 System.out.print()ではテキストを表示できますが、何回処理したかをこれで書き出すと右にずら~と連続して表示されてしまいます。printlnだと開業してだーっと文字が流れていってしまいます。 一つ前の書いた回数の部分だけを書き換える感じで同じ位置に「○回処理中」と出力するのはどうしたらよいでしょうか?

みんなの回答

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.3

#1です。 エスケープシーケンスについてですが、 これも#1に紹介しているのと同様プラットホーム依存(端末依存といった方がいいかもですが)です。 例えばWindowsはエスケープシーケンスをサポートしていません(32ビット版Windowsでしたら一応できますけど)

回答No.2

エスケープシーケンスを勉強すればいいかもですね。 https://www.mm2d.net/main/prog/c/console-02.html 例えば、画面に "data:001"と出したなら、カーソルは最後の”1”の次にいるわけなので、 そこで、カーソルを左に三回。これで最初の"0"の位置に来る。 後はお分かりですね?

muuming2001
質問者

お礼

情報有り難うございます。調査してみます。

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

プラットホーム依存になりますが文字'\r'は復帰(行頭に戻る)を意味します。 ですので for (int i = 0; i < 10; i++) { System.out.print("\r" + i); } のようにすると同一行で0~9を表示します。

muuming2001
質問者

お礼

情報有り難うございます。調査いたします!

関連するQ&A