Я пытаюсь использовать Jansi Java Library для использования цвета в CMD/Console, и у меня возникла небольшая проблема. Когда я использую Jansi библиотеку и попытаться использовать для печати F ЗАЯВЛЕНИЕПочему «>>» не печатается в конце моего заявления printf?
System.out.printf("Hello young lad! What is thy " + RED + "name " + WHITE + "you were given at birth?\n>> ");
«>>» не печатается в конце. Вместо этого Scanner вызывается и запрашивает мой ввод. Почему это происходит и есть ли способ сделать это так, чтобы «>>» и «Ввод сканера» отображались на одной строке?
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();
}
}
Попробуйте добавить 'System.out.flush();' перед вызовом 'nextLine()'. – chrylis
Игнорируя материал AnsiConsole, он работает для меня. Похоже, ваша система может быть привязана к строке. – tommyo
Вы вызываете 'printf', но не используете какие-либо его функции. Лучше использовать 'print', если вы не знаете, что' printf'. –