Каретка Java на предыдущую строку

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

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

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


person Sergey    schedule 11.11.2011    source источник


Ответы (4)


Я не думаю, что вы можете.

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

person madth3    schedule 11.11.2011

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

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

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

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

person lepe    schedule 07.02.2019

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

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

person SimonC    schedule 11.11.2011

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

System.out.print("this is for ");
System.out.println("test"); //System.out.print("\n");
person Sandeep Pathak    schedule 11.11.2011