JAVA问题 试通过程序求出4色球在盒子中的放置位置 谢谢哪位大侠帮我做一下

来源:百度知道 编辑:UC知道 时间:2024/09/22 05:46:02
7 有红、黄、黑、白4色球各一个,放置在编号为1,2,3,4的4个盒子里面,每个盒子一个球,顺序未知。甲、乙、丙三个人猜测放置顺序如下:
甲:黑球在1号盒子,黄球在2号盒子;
乙:黑球在2号盒子,白球在3号盒子;
丙:红球在2号盒子,白球在4号盒子;
结果证明:甲、乙、丙三人各猜中一半,试通过程序求出4色球在盒子中的放置位置。

//写的比较匆忙,感觉方法一般。不过运行无误。欢迎指正!
public class Ball {
public int red = 0, yellow = 0, black = 0, white = 0; // 球的颜色

/* 设置颜色 */
public void SetColor(int red, int yellow, int black, int white) {
this.red = red;
this.yellow = yellow;
this.black = black;
this.white = white;
}

/* 判断是否有相同颜色的小球存于同一个箱子里 */
public static boolean Compare(Ball ball) {
boolean B = true;
int a[] = { ball.black, ball.red, ball.white, ball.yellow };
for (int i = 0; i < a.length - 1; i++) {
for (int j = i + 1; j < a.length; j++) {
if (a[i] == a[j]) {
B = false;
break;
}
}
if (!B)
break;
}
return B;
}

/* 循环遍历 */
public static Ball ExeFor(Ball ball, int a[], int b[], int c[]) {
boolean flag = false;
int A[] = a;
int B[] = b;
int C[] = c;
for (int i = 0; i < A.length; i++)