Страницы

Поиск по вопросам

пятница, 13 декабря 2019 г.

Обновляющаяся строка?

#java


Как сделать обновляющуюся строку?
Например есть код

for(int x=0;x<100;x++) System.out.println(x);


Я не хочу чтобы был вывод в новую строку.

А в одну и ту же. Чтобы 1 в последовательности заменялось 2, и это было в одной строке
    


Ответы

Ответ 1



Сама Java очищать консоль не умеет. Но есть небольшая библиотечка, позволяющая отправлять управляющие последовательности в любую ANSI-совместимую консоль - Jansi: AnsiConsole.systemInstall(); System.out.print(Ansi.ansi().eraseScreen()); for (int x = 0; x < 100; x++) { try { System.out.print(Ansi.ansi().cursor(0, 0).a(x)); Thread.sleep(500); } catch (InterruptedException e) {} }

Ответ 2



Используй \r вместо перевода строки: System.out.print(x + "\r");

Ответ 3



Элементарное что можно сделать, каждую итерацию цикла, очищать консоль через обращения к bash, с помощью например того же класса System.

Ответ 4



Если в одну строку то: for(int x=0;x<100;x++) System.out.print(x); разница в println и print Возможно нужно будет добавлять пробелы: for(int x=0;x<100;x++) System.out.print(x+" ");

Комментариев нет:

Отправить комментарий