プログラムが印刷されたすべてのテキストを消去できるようにしたい。何かを出力するたびに、print()
代わりにメソッドを呼び出しSystem.out.print()
ますが、メソッドを呼び出してerase()
も、Windows 7 コンソールでは何もしていないようです。何が起きているのかわかりません。文字を消去することを確認するテストを個別に実行しました\b
が、何らかの理由でerase()
. バックスペース文字同士が消し合っているのか、それとも何か?
編集:さらにいくつかのテストを実行しました。\b は改行文字を上書きしないようです。だから私はそれを行う方法が必要だと思います。
public static int textLength = 0;
public static void erase() {
for (int i = 0; i < textLength; i++) {
System.out.print('\b');
}
textLength = 0;
}
public static void print(String s) {
textLength += s.length();
System.out.print(s);
}