#java #консоль #обновление
Доброго дня, коллеги.
Есть один код, который выводит в консоль таблицу случайных булевых значений.
Все бы ничего, но мне нужно, чтобы значения не выводились потоком, одно за другим,
а изменялись в реальном времени.
Те по аналогии с часами в консоли: время должно не писаться в новой строке с каждой
новой секундой, а должно находиться, и обновляться в изначальной.
boolean[][] dots = new boolean[5][5];
Random randomBoolean = new Random();
//Now i want to create a table with random boolean values
//Eternal loop
for (;;) {
try {
Thread.sleep(500);
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
dots[i][j] = randomBoolean.nextBoolean();
System.out.print(dots[i][j] + "\t");
}
//Close the column
System.out.println();
}
System.out.println();
}
catch (InterruptedException e)
{
}
}
Что и куда мне нужно для этого добавить?
Спасибо
Ответы
Ответ 1
Сама Java очищать консоль не умеет. Но есть небольшая библиотечка, позволяющая отправлять управляющие последовательности в любую ANSI-совместимую консоль - Jansi: import java.util.Random; import org.fusesource.jansi.AnsiConsole; public class Main { public static void main(String[] args) { AnsiConsole.systemInstall(); Random randomBoolean = new Random(); for (;;) { System.out.print("\u001b[2J"); System.out.flush(); try { for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { System.out.print(randomBoolean.nextBoolean() + "\t"); } System.out.println(); } System.out.println(); Thread.sleep(500); } catch (InterruptedException e) {} } } }
Комментариев нет:
Отправить комментарий