我正在尝试在Java中编写一个更改颜色方法,它接受一个int参数并根据该int更改该颜色。六种颜色的有效颜色范围为1 - 6。您可以决定将哪个数字(1-6)映射到哪种颜色。如果该值不在此范围内,请将圆圈设为红色。
我试图在不使用数组列表的情况下这样做,但我不确定如何。有任何想法吗?
我试过了:
if(newColor == 1) {
newColor = "yellow";
}
我收到一条错误消息,指出'不兼容的类型:java.lang.String无法转换为int。'
我也试过了:
if(newColor == 1) {
newColor.equals("yellow");
}
我收到一条错误消息,指出“int无法解除引用”。
答案 0 :(得分:1)
1
是一个int
字面值。如果编译器允许您测试newColor ==
,那么这意味着newColor必须是int
变量。作为int
变量,只允许保留int
个值。
"yellow"
是String
字面值。编译器不允许您为String
变量分配int
值。您只能将String
值分配给String
变量。
您需要两个变量:一个用于保存给定的int
值,另一个用于保存String
结果。
其他语言(例如,Ruby)可能会让您以不同的方式执行此操作,但如果您要使用Java,那么您将不得不在Java规则中工作以解决您的问题。