回答 受付中

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

  • 暇なときにでも
  • 質問No.9506586
  • 閲覧数118
  • ありがとう数2
  • 気になる数0
  • 回答数3

お礼率 73% (522/707)

日曜プログラマーです。
javaをCUIで利用してテキスト処理や計算に利用しています。

System.out.print()ではテキストを表示できますが、何回処理したかをこれで書き出すと右にずら~と連続して表示されてしまいます。printlnだと開業してだーっと文字が流れていってしまいます。

一つ前の書いた回数の部分だけを書き換える感じで同じ位置に「○回処理中」と出力するのはどうしたらよいでしょうか?
通報する
  • 回答数3

回答 (全3件)

  • 回答No.3

ベストアンサー率 28% (1274/4455)

コンピューター カテゴリマスター
#1です。
エスケープシーケンスについてですが、
これも#1に紹介しているのと同様プラットホーム依存(端末依存といった方がいいかもですが)です。
例えばWindowsはエスケープシーケンスをサポートしていません(32ビット版Windowsでしたら一応できますけど)
OKWAVE 20th Be MORE ありがとうをカタチに
  • 回答No.2

ベストアンサー率 50% (1089/2136)

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

お礼率 73% (522/707)

情報有り難うございます。調査してみます。
投稿日時 - 2018-06-09 12:10:17
  • 回答No.1

ベストアンサー率 28% (1274/4455)

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

お礼率 73% (522/707)

情報有り難うございます。調査いたします!
投稿日時 - 2018-06-09 12:10:38
  • 回答数3
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ