在Java中将颜色代码映射到Int

时间:2015-11-12 22:47:29

标签: java int mapping bluej

我正在尝试在Java中编写一个更改颜色方法,它接受一个int参数并根据该int更改该颜色。六种颜色的有效颜色范围为1 - 6。您可以决定将哪个数字(1-6)映射到哪种颜色。如果该值不在此范围内,请将圆圈设为红色。

我试图在不使用数组列表的情况下这样做,但我不确定如何。有任何想法吗?

我试过了:

 if(newColor == 1) {
     newColor = "yellow";
 }

我收到一条错误消息,指出'不兼容的类型:java.lang.String无法转换为int。'

我也试过了:

if(newColor == 1) {
     newColor.equals("yellow");
}

我收到一条错误消息,指出“int无法解除引用”。

1 个答案:

答案 0 :(得分:1)

1是一个int字面值。如果编译器允许您测试newColor ==,那么这意味着newColor必须是int变量。作为int变量,只允许保留int个值。

"yellow"String字面值。编译器不允许您为String变量分配int值。您只能将String值分配给String变量。

您需要两个变量:一个用于保存给定的int值,另一个用于保存String结果。

其他语言(例如,Ruby)可能会让您以不同的方式执行此操作,但如果您要使用Java,那么您将不得不在Java规则中工作以解决您的问题。