gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 02:57:34 25 4
gpt4 key购买 nike

我正在 Netbeans 中运行一个控制台应用程序,该应用程序提示用户输入、验证输入,并在输入验证失败并重新提示时打印错误消息。我已设置以红色文本打印的错误消息 this answer 。它工作得很好,省去了一个问题。

由于第一个输入无效,程序要求第二个输入后,该错误消息后面的用户输入的颜色与错误消息相同。

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

有没有一种方法可以关闭 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();
}

最佳答案

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

查看此内容以了解您可能想要/需要的其他内容。 https://en.wikipedia.org/wiki/ANSI_escape_code#CSI_codes

关于java - 打印 ANSI 颜色消息后设置用户输入文本的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36816977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com