我想在CMD /控制檯中使用Jansi Java庫來使用顏色,並且遇到了一些小問題。當我使用Jansi Library並嘗試使用print f語句時,「>>」不會在最後打印。相反,掃描儀被調用並要求輸入。爲什麼會發生這種情況,有什麼辦法可以使「>>」和掃描儀輸入顯示在一行上?爲什麼我的printf語句的末尾不會顯示「>>」?
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'的話,最好使用'print'。 –