【发布时间】:2020-09-14 03:29:33
【问题描述】:
我目前正在尝试创建一个 switch 语句,在使用 getColor() 时,将颜色键入为字符串会将 Color.red(或其他)的 Primative Color 类型设置为可变颜色。如果我什至无法正确提出问题,我会提前道歉。我 4 周前开始编程。
public class ChooseAColor {
private Color color
//default color
public Color defaultColor(){
this.color = Color.red
public Color getColor(Color color){
switch (color){
case "Red":
return color = java.awt.Color.red;
break;
case "Black":
return java.awt.Color.black;
break;
case "Blue":
return color = java.awt.Color.blue;
default:
break;
}
}
}
然后尝试调用和打印
public class TestChooseAColor{
ChooseAColor myColor = new ChooseAColor();
System.out.println("My favorite color is: " + myColor.getColor("Red")
我期待一个输出
My favorite color is red
但是,我得到了
java: incompatible types: java.awt.Color cannot be converted to int
【问题讨论】:
-
您不能在类上使用 switch 语句(在本例中为
Color)。这就是它给出错误的原因......它可能正在尝试将Color转换为int。您只能在 int、char、String*、枚举上使用 switch 语句...
标签: java methods colors constructor switch-statement