2016-04-23 45 views
0

我在Netbeans中运行一个控制台应用程序,提示用户输入,验证输入,并在输入验证失败并重新提示时输出错误消息。我设置的错误信息是按照this answer以红色文本打印。它完美的工作,保存一个问题。在打印ANSI颜色的消息后设置用户输入文本的颜色?

在程序要求第二次输入,并且第一次输入无效后,错误消息之后的用户输入与错误消息的颜色相同。

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

有没有在我应该收出ANSI颜色代码的应用程序在我的文字的方式?各种结束标签?

代码:不管你想要的红色文本停止

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(); 
} 

回答