Очищена или перезаписана программа остановки печатных строк Java.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Очищена или перезаписана программа остановки печатных строк Java.

Сообщение Anonymous »

Общая информация
Я новичок в программировании без нуля,
и работаю над программой на Java, которая имитирует экран путем чтения и печати двумерного массива. В данный момент программа распечатывает массив, ждет указанное время, а затем запускает строки System.out.flush(); System.out.print("\033[H");
Программа успешно распечатывает массив и в данный момент сбрасывает курсор, что заставляет программу печатать новый кадр поверх нового.
Проблема
Проблема в том, что программа замедляется и останавливается по прошествии достаточного времени, несмотря на то, что в поле отображается только последний кадр если вы прокрутите вверх или вниз. Если я использую другую IDE, процесс завершается раньше, поскольку объем выходных данных превышает 2 МБ. Кроме того, каждый кадр довольно большой и требует быстрого обновления.
Модули
Вся причина, по которой я использовал текст вместо экрана, заключается в том, что я не могу импортировать многие модули. Я думаю, что я не могу использовать ничего, что требует доступа к терминалу компьютера для импорта или не доступно сразу в бесплатной онлайн-IDE, но я не знаю, что именно я могу, а что не могу импортировать.
Намерение и вопрос
Цель этой программы состоит в том, чтобы показать самый последний блок текста, а предыдущие блоки удалить, не вызывая мигания.
Есть ли способ перезаписать выходные данные, чтобы код мог работать в течение длительного времени без значительного снижения производительности?
-Полная очистка выходных данных вместо перезаписи старого кадра делает выходные данные мигающими. плохо печатается текст.
Код
System.out.print("\033\143");

имеет ту же проблему.
System.out.println(new String(new char[50]).replace("\0", "\r\n"));

не очищает вывод должным образом.
System.out.print("\033[2J");

Успешно предотвращает замедление программы, но заставляет выходные данные мигать при печати следующего фрагмента текста.
Вот пример кода, который воссоздает способ печати массива:
(Это не настоящий код, но имитирует окончательный вывод кода, который вызывает проблему)
public class Tester {
public static void main(String[] args) {
int rows = 50;
int cols = 50;
while (true) {
for (int i = 0; i < rows; i++) {
for (int g = 0; g < cols; g++) {
System.out.print("a");
}
System.out.print("\n");
}

//thing that clears output
System.out.flush();
System.out.print("\033[H");
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/798 ... ng-program
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»