java.awt.color返回颜色名称而不是RGB值
在任何人将此标记为重复之前,我阅读了其他7个类似的问题,其中没有一个问题的答案与我想要的答案相近。我还冒险浏览了谷歌搜索结果的前两页,仍然找不到答案 我不关心世界上所有的颜色,我只想使用java颜色类中已有的颜色(即“红色”、“黑色”、“绿色”) 我正在为一个intro Java类编写一个程序,教授说要声明“一个名为guitarColor的私有颜色数据字段,它定义吉他的颜色。默认值应该是Color.Red。”他的示例输出显示返回的颜色为“getColor():Red”。所以我需要使用color类来获得这种格式的输出 当我使用java.awt.color类并输入类似color.RED的内容时,我希望它返回“RED”,而不是“java.awt.color[r=255,g=0,b=0]”。我该怎么做java.awt.color返回颜色名称而不是RGB值,java,Java,在任何人将此标记为重复之前,我阅读了其他7个类似的问题,其中没有一个问题的答案与我想要的答案相近。我还冒险浏览了谷歌搜索结果的前两页,仍然找不到答案 我不关心世界上所有的颜色,我只想使用java颜色类中已有的颜色(即“红色”、“黑色”、“绿色”) 我正在为一个intro Java类编写一个程序,教授说要声明“一个名为guitarColor的私有颜色数据字段,它定义吉他的颜色。默认值应该是Color.Red。”他的示例输出显示返回的颜色为“getColor():Red”。所以我需要使用color类
import java.awt.Color;
public class Program
{
public static void main(String[] args) {
Guitar g1 = new Guitar();
System.out.println("getColor() result: " + g1.getColor());
}
}
public class Guitar {
private Color guitarColor;
public Guitar () {
guitarColor = Color.RED;
}
public Color getColor() {
return guitarColor;
}
}
输出:
getColor() result: java.awt.Color[r=255,g=0,b=0]
我将在吉他类中创建一个函数,用于解密吉他的颜色,并返回该颜色的
字符串
表示,而不是实际的颜色
对象。试试这个
public String getColorOfGuitar() {
if(guitarColor.equals(Color.RED))
return "RED";
else if(guitarColor.equals(Color.BLUE))
return "BLUE";
else if(guitarColor.equals(Color.YELLOW))
return "YELLOW";
else
return "Unknown Color";
}
现在,当您调用该方法时,它将返回该颜色的字符串表示形式
System.out.println("getColorOfGuitar() result: " + g1.getColorOfGuitar()); //--> getColor() result: RED
我想你需要展示一些代码。我要做的是:创建我自己的枚举或映射,将字符串链接到颜色。但是,尽管如此,没有一个万能的答案。对于
颜色(130、23、199)
,应该返回什么字符串?这就是为什么您应该编写自己的代码,将颜色子集链接到相应的字符串。所以,是的,正如@RobGorman所建议的——请显示一些代码。@RobGorman我更新了代码链接。请不要链接到代码。把它包括在你的帖子里,格式正确。