- 締切済み
java テキストをその場で表示して書き換え
日曜プログラマーです。 javaをCUIで利用してテキスト処理や計算に利用しています。 System.out.print()ではテキストを表示できますが、何回処理したかをこれで書き出すと右にずら~と連続して表示されてしまいます。printlnだと開業してだーっと文字が流れていってしまいます。 一つ前の書いた回数の部分だけを書き換える感じで同じ位置に「○回処理中」と出力するのはどうしたらよいでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- wormhole
- ベストアンサー率28% (1626/5665)
回答No.3
#1です。 エスケープシーケンスについてですが、 これも#1に紹介しているのと同様プラットホーム依存(端末依存といった方がいいかもですが)です。 例えばWindowsはエスケープシーケンスをサポートしていません(32ビット版Windowsでしたら一応できますけど)
- AsarKingChang
- ベストアンサー率46% (3467/7474)
回答No.2
エスケープシーケンスを勉強すればいいかもですね。 https://www.mm2d.net/main/prog/c/console-02.html 例えば、画面に "data:001"と出したなら、カーソルは最後の”1”の次にいるわけなので、 そこで、カーソルを左に三回。これで最初の"0"の位置に来る。 後はお分かりですね?
- wormhole
- ベストアンサー率28% (1626/5665)
回答No.1
プラットホーム依存になりますが文字'\r'は復帰(行頭に戻る)を意味します。 ですので for (int i = 0; i < 10; i++) { System.out.print("\r" + i); } のようにすると同一行で0~9を表示します。
質問者
お礼
情報有り難うございます。調査いたします!
お礼
情報有り難うございます。調査してみます。