CMD/콘솔에서 색상을 사용하기 위해 Jansi Java 라이브러리를 사용하려고하는데 약간의 문제가 있습니다. Jansi 라이브러리를 사용하여 print f 문을 사용할 때왜 printf 명령문의 끝에서 ">>"인쇄를하지 않습니까?
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();
}
}
'nextLine()'을 (를) 호출하기 전에'System.out.flush();'을 추가하십시오. – chrylis
AnsiConsole 물건을 무시하고, 그것은 나를 위해 작동합니다. 귀하의 시스템이 내게 버퍼 버퍼링 된 것처럼 보입니다. – tommyo
당신은'printf'를 호출 중입니다 만, 어떤 기능도 사용하지 않습니다. 'printf'에 대해 모른다면'print'를 사용하십시오. –