Почему ">> " не печатается в конце моего оператора 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
Другие вопросы по тегам