Невозможно делать то, что вы хотите, динамически изменяя текст. Запись вывода с помощью System.out.println()
запишет его на консоль, и после этого он будет вне вашего контроля. Это будет иметь место для любого языка.
Вы можете очистить консоль, прежде чем писать все заново, что сделает ее более динамичной. Это будет выглядеть примерно так:
public static void clearScreen() {
System.out.print("\033[H\033[2J");
System.out.flush();
}
Несмотря на то, что это не решит ваш первоначальный вопрос, я хочу использовать этот пост, чтобы указать на использование возврата каретки:
System.out.print("This is a test-string!");
System.out.println("\rThis string will overwrite that string!");
Возврат каретки в Java, используемый как \r
, вернет курсор в начало строки. Это перезапишет исходную строку. Выход этого кода будет:
This string will overwrite that string!