我正在处理我的Java类代码,我无法弄清楚如何创建一个接受int参数的方法,并根据该int更改颜色 . 这个问题具体要求我们:
在您的代码中,将每种颜色映射到一个整数(例如,在我的代码3中表示绿色 . )如果传递给方法的数字无效,请将颜色更改为红色 . 有效颜色为“红色”,“黄色”, “绿色”,“蓝色”,“洋红色”和“黑色” .
换句话说,我试图使用整数选择字符串颜色 . 我该怎么做呢?
我试过了:
public void changeColor(int newColor){
switch(color) {
case 1:
// color1
case 2:
// color2
case 3:
// color3
default:
//defaultcolor
}
draw();
}
我收到编译错误说;
不兼容的类型:int无法转换为java.lang.String
如果我没有正确输入代码,我道歉 . 我是编程新手 .
2 回答
你可以使用颜色开关:
但是,定义枚举并将其传递给此函数而不是int值会更好 .
一些事情:
你不应该在
switch
上使用newColor
吗? (只是基于你的片段 . 不太确定你之间是否还有其他代码 .另外,在
case
上放一个break
. 否则,它将适用于所有情况最后,基于您的异常(int无法转换为java.lang.String),您似乎正在尝试将
int
转换为代码上某处的String
. 尝试使用Integer
而不是原始int
.代替
希望能帮助到你 .