0

我调用一种方法来为八个对象获取随机颜色。如果连续三个对象的颜色相同,则无效。只有一种或两种颜色相同的颜色是有效的。我认为我的代码应该可以工作,但我仍然得到连续八个颜色相同的三个对象!我做错了什么?也许它可以以更好和更简单的方式完成?欢迎提出建议!

获得八个随机数的循环的一部分

for (int j = 0; j < 8; j++) { // 8 objects in each column

// Call method to get random color
int color = getRandomColor(j);

方法

public int getRandomColor(int j) {

    int color = randomNumber1.nextInt(8);

    colors[j] = color;
    if(j>1 && colors[j-1] == color && colors[j-2] == color) {
        getRandomColor(j);
    }
    return color;
}
4

1 回答 1

1

尝试这个:

public int getRandomColor(int j){
  int color = randomNumber1.nextInt(8);
  colors[j] = color;

  while(j>1 && colors[j-1] == color && colors[j-2] == color){
    color = randomNumber1.nextInt(8);
    colors[j] = color;
  }
return color;
}
于 2013-05-18T15:30:10.453 回答