Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 打印ANSI彩色消息后设置用户输入文本的颜色?_Java_Colors_User Input_Ansi Colors - Fatal编程技术网

Java 打印ANSI彩色消息后设置用户输入文本的颜色?

Java 打印ANSI彩色消息后设置用户输入文本的颜色?,java,colors,user-input,ansi-colors,Java,Colors,User Input,Ansi Colors,我在Netbeans中运行一个控制台应用程序,它会提示用户输入,验证输入,如果输入未通过验证,则打印一条错误消息并重新提示。我已设置为按以红色文本打印的错误消息。除了一个问题,它工作得很好 如果第一个输入无效,程序请求第二个输入后,错误消息后面的用户输入与错误消息的颜色相同 例如,用户输入了无效的输入。他们在错误消息后再次输入输入。它应该以默认的文本颜色打印(在我的版本中为黑色),但它会以红色文本打印 有没有一种方法可以让我在文本中关闭ANSI颜色代码的应用程序?一种结束标记 代码: 无论您希

我在Netbeans中运行一个控制台应用程序,它会提示用户输入,验证输入,如果输入未通过验证,则打印一条错误消息并重新提示。我已设置为按以红色文本打印的错误消息。除了一个问题,它工作得很好

如果第一个输入无效,程序请求第二个输入后,错误消息后面的用户输入与错误消息的颜色相同

例如,用户输入了无效的输入。他们在错误消息后再次输入输入。它应该以默认的文本颜色打印(在我的版本中为黑色),但它会以红色文本打印

有没有一种方法可以让我在文本中关闭ANSI颜色代码的应用程序?一种结束标记

代码:


无论您希望红色文本停止在哪里,都需要插入ANSI转义序列以关闭所有ANSI属性:
“\u001b[0m”


看看这个,看看你可能想要/需要的其他东西。

这就解决了它。非常感谢!
public static void main(String[] args) 
{

    //Initialize keyboard input
    Scanner keyboard = new Scanner(System.in);

    //Print prompt to screen
    System.out.println("User input prompt goes here: ");

    //Store user input
    String inputGot = keyboard.nextLine();

    //Print a dummy error message
    System.out.println("\u001B[31m" + "This is an error of some sort.  "
            + "Please re-enter input: ");

    //Rerun input prompt (this would be looped in the real program)
    System.out.println("User input prompt goes here: ");

    //Store user input
    inputGot = keyboard.nextLine();
}