2014-10-18 2 views
1

Я пытаюсь напечатать 2 бок о бок фигуры формы:Как перемещать курсор вверх по линиям в терминале?

@@@ @@@

@@@ @@@

@@@ @@@

После печати первого квадрата, как я могу переместить курсор обратно в верхнюю строку, чтобы начать рисовать второй квадрат?

+0

Ваш вопрос не имеет большого смысла ... что это: ПЕЧАТЬ, ЧЕРТЕЖ ИЛИ ГЕНЕРИРУЮЩИЙ КОНСОЛЬ ВЫХОД? – specializt

ответ

2

Оператор println по существу просто отправляет символы в System.out, и это зависит от того, какой инструмент вы используете для просмотра этих символов, чтобы делать то, что вы хотите сделать.

Для терминалов (CMD.EXE/Terminal.app/etc) соглашение - как и у принтеров - имеет специальные последовательности, не соответствующие видимым символам, а вместо этого вызывает какое-либо действие. Историческая традиция заключается в использовании так называемых последовательностей vt100, которые обычно понимают терминалы под OS X и Linux, но CMD.EXE этого не делает. Если это так, вы можете использовать библиотеку ncurses, чтобы делать то, что хотите.

Если нет, типичный подход заключается в том, чтобы создать весь образ, который вы хотите напечатать внутренне в двойном массиве, прежде чем печатать его, а затем просто распечатайте его, как обычно.