Java перевод на предыдущую строку - PullRequest
3 голосов
/ 11 ноября 2011

\n - это новая строка в java, возможно ли перейти к предыдущей строке из текущей позиции? Например, я хочу напечатать «это для теста»

System.out.println("this is for");

Теперь, как я могу добавить «тест» к предыдущей строке, поскольку println переместил каретку на следующую?

Ответы [ 4 ]

3 голосов
/ 11 ноября 2011

Не думаю, что ты можешь.

Обычно вместо первой части вы используете System.out.print и println() или '\n', как только вы уверены, что ваша строка закончилась.

1 голос
/ 07 февраля 2019

Это работает:

print "\033[F\r" + "New String"

Хитрость в том, что \033[F - это код ANSI (который поддерживается большинством терминалов) для возврата на одну строку назад. Затем \r должен вернуться в начало строки. Вы можете переписать его оттуда. Возможно, вам придется заполнить его пробелами, чтобы очистить его правильно.

Не думаю, что это поддерживается в консоли по умолчанию в Windows (cmd), но вполне вероятно, что она будет работать в PowerShell. В Linux (и, скорее всего, в MacOS), должно работать без проблем.

1 голос
/ 11 ноября 2011

Если вам действительно нужно «вернуться к персонажу», вы можете сделать System.out.print('\b'), но если вы этого не сделаете, перейдите к другим предложениям использования System.out.print сначала, а затем System.out.println, поскольку это более легко следовать.

Кроме того, имейте в виду, что в Eclipse, по-видимому, есть ошибка, которая не позволяет этой работе работать должным образом: Как заставить backspace \ b работать в консоли Eclipse? .

1 голос
/ 11 ноября 2011

Вместо этого можно использовать System.out.print(), чтобы остаться в той же строке и добавить к ней тест.

System.out.print("this is for ");
System.out.println("test"); //System.out.print("\n");
...