从java中创建的球数组生成2个新的球数组

从java中创建的球数组生成2个新的球数组,java,arrays,eclipse,Java,Arrays,Eclipse,我目前正在Eclipse中编写一个Java池游戏小程序。我在applet的开头声明了一个包含16个球的数组,该数组在start()方法中处理所有球的定位,如下所示: Ball b[] = new Ball[16]; public void start() { b[0] = new Ball(200,425,0,0); b[1] = new Ball(200, 140, 0, 0); b[2] = new Ball(190, 120, 0, 0); b[3] = new Ball(210, 12

我目前正在Eclipse中编写一个Java池游戏小程序。我在applet的开头声明了一个包含16个球的数组,该数组在start()方法中处理所有球的定位,如下所示:

Ball b[] = new Ball[16];

public void start()
{
b[0] = new Ball(200,425,0,0);
b[1] = new Ball(200, 140, 0, 0);
b[2] = new Ball(190, 120, 0, 0);
b[3] = new Ball(210, 120, 0, 0);
b[4] = new Ball(180, 100, 0, 0);
b[5] = new Ball(200, 100, 0, 0);
b[6] = new Ball(220, 100, 0, 0);
b[7] = new Ball(170, 80, 0, 0);
b[8] = new Ball(190, 80, 0, 0);
b[9] = new Ball(210, 80, 0, 0);
b[10] = new Ball(230, 80, 0, 0);
b[11] = new Ball(160, 60, 0, 0);
b[12] = new Ball(180, 60, 0, 0);
b[13] = new Ball(200, 60, 0, 0);
b[14] = new Ball(220, 60, 0, 0);
b[15] = new Ball(240, 60, 0, 0);
}
这些球的颜色为b[0]为主球,b[5]为黑球,其他球为红色或黄色,具体取决于它们在三角形中的位置

我需要做的是从原始阵列中再制作2个阵列,其中第一个阵列就是红色的球,例如b[1]、b[3]、b[4]。。。。。等等第二个是黄色的球,例如b[2]、b[6]、b[7]。。。。。等等

我想知道的是,是否有可能让一个数组中的两个数组只取红色和黄色球的值?如果是这样的话,编写这些数组的最有效方法是什么


提前谢谢。

尽管你似乎不是很有经验,但这个问题的目的很有道理。您不需要创建新的Ball实例,只需从先前定义的数组中获取这些实例:

Ball reds[] = new Ball[7];
Ball yellows[] = new Ball[7];

for(int i=1;i<b.length;i++) {
  if(i!=5) {
    if(i%2==0) {
      yellows[i/2-1]=b[i];
    } else {
      reds[i<5?(i/2):(i/2-1)]=b[i];
    }
  }
}
Ball reds[]=新球[7];
球变黄[]=新球[7];

对于(int i=1;i代码中的b[i]是黑/红/黄吗?从添加一个指定球的颜色的属性开始怎么样?'b[0]=新球(200425,0,0,“白色”)谢谢你我已经更新了for my start()方法的代码,该方法现在在游戏开始后包含球的颜色。'b[0]=新球(200425,0,0,“白色”);'