Почему ">> " не печатается в конце моего оператора printf?
Я пытаюсь использовать библиотеку Jansi Java для использования цвета в CMD/Console, и я столкнулся с небольшой проблемой. Когда я использую библиотеку Янси и пытаюсь использовать оператор print f
System.out.printf("Hello young lad! What is thy " + RED + "name " + WHITE + "you were given at birth?\n>> ");
">> " не печатается в конце. Вместо этого вызывается сканер и запрашивает мой ввод. Почему это происходит, и есть ли способ сделать так, чтобы ">> " и вход сканера отображались в одной строке?
import java.util.Scanner;
import org.fusesource.jansi.AnsiConsole;
public class Test {
public static void main(String[] args) {
AnsiConsole.systemInstall();
String name;
Scanner scanner = new Scanner(System.in);
String BLACK = "\u001B[0;30m";
String RED = "\u001B[0;31m";
String GREEN = "\u001B[0;32m";
String YELLOW = "\u001B[0;33m";
String BLUE = "\u001B[0;34m";
String MAGENTA = "\u001B[0;35m";
String CYAN = "\u001B[0;36m";
String WHITE = "\u001B[0;37m";
System.out.printf("Hello young lad! What is thy " + RED + "name " + WHITE + "you were given at birth?\n>> ");
name = scanner.nextLine();
}
}
1 ответ
Решение
Этот код работает нормально после комментирования вещи AnsiConsole.
Это то, что я распечатал.
Hello young lad! What is thy [0;31mname [0;37myou were given at birth?
>> John