2016-04-23 92 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(); 
} 

回答