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

133
17 апреля 2018, 05:26

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

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

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

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

Answer 1

Используй \r вместо перевода строки:

System.out.print(x + "\r");
Answer 2

Сама 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) {}
}
Answer 3

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

Answer 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+" ");
READ ALSO
Настройка Java EE Создание классов сущностей

Настройка Java EE Создание классов сущностей

У меня есть БД с несколькими таблицамиПосле того как создал классы для каждой таблицы и покрыл аннотациями компилятор ругается на названия...

139
Объясните логику работы выражения

Объясните логику работы выражения

Объясните пожалуйста, как работает это выражение !(a & (a - 1)) В плюсах совершенно не понимаю, в Java ! нельзя применять к int

116
Как печатать с помощью Java(принтер)

Как печатать с помощью Java(принтер)

Есть массив byte(byte[] array) - в этом массиве находится уже готовый PDF файлТ

133