我有一个2D数组,其中填充有随机数[0,3),不包括主对角线0。它是运动表,其中0是丢失,1是绘制,2是WIN。另外,如果a [1] [2] = 0,那么a [2] [1] =2。我已经做到了:
public static void getFlawless(int[][] a, byte n) {
byte i = 0;
short sum;
for (byte j = 0; j < n; j++) {
sum = 0;
i = 0;
while (i < n) {
if (a[j][i] == 0) {
sum++;
i++;
} else {
i++;
}
}
if (sum < 2) {
System.out.println("Team " + (j + 1) + " is flawless.");
sum = 0;
}
}
}
根据我对您的问题的了解,也许这是您想要实现的目标:
public static void getFlawless(int[][] a, byte n) {
int j = 0;
for (int i = 0; i < n; i++) {
while (j < n) {
if (i == j) { j++; continue; }
if (a[i][j++] != 2) { break; }
}
if (j == n) {
System.out.println("Team " + (i+1) + " " + "is flawless!");
}
j = 0;
}
}
我是一名优秀的程序员,十分优秀!