#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) {} } } }
Комментариев нет:
Отправить комментарий