【发布时间】:2017-04-29 18:15:09
【问题描述】:
我制作了一个 2D 数组,随机填充 0 到用户选择的数字(最多 6 个)之间的数字。我想用颜色更改这些数字,但是当我尝试将每个值分配给颜色时,我收到无法从 int 转换为颜色的消息......有什么建议吗?因为我真的卡住了
public static void rellenarTablero(int[][] tablero) {
System.out.println("Introduzca el numero de colores (de 2 a 6): ");
Scanner in = new Scanner(System.in);
int colores = in.nextInt();
while(colores<2||colores>6){
System.out.println("Elija un numero valido:");
colores = in.nextInt();
}
for (int x = 0; x < tablero.length; x++) {
for (int y = 0; y < tablero[x].length; y++) {
tablero[x][y] =1+(int)(Math.random()*(colores));
if(x==1){
x=Color.BLUE;
}if(y==1){
y=Color.BLUE;
}
if(x==2){
x=Color.RED;
}
if(y==2){
y=Color.RED;
}
if(x==3){
x=Color.GREEN;
}
if(y==3){
y=Color.GREEN;
}
}
}
}
【问题讨论】:
-
这些数字应该如何转换成颜色?例如,如果用户输入 3,那么该结果应该是什么颜色?
-
您可以从
Map<Integer, Color>地图开始... -
好吧,分配是无关紧要的,让我们把 1=blue, 2=red & 3=green 用于这个例子,代码在编辑中,对不起
-
我对这里的功能感到非常困惑。如果将
x定义为int类型,则不能将其分配为Color类型。 -
所以我必须将
x定义为color而不是int类型吗?那么我怎么能随机填充我的数组呢?对不起,如果这是一个愚蠢的问题,但我只是一个初学者