```java
package pingpoang;
public class PingPong {
static char[] m = {'a', 'b', 'c'};
static char[] n = {'x', 'y', 'z'};
public static void main(String[] args) {
for (int i = 0; i < m.length; i++) {
for (int j = 0; j < n.length; j++) {
if (m[i] == 'a' && n[j] == 'x') {
continue;
} else if (m[i] == 'a' && n[j] == 'y') {
continue;
} else if ((m[i] == 'c' && n[j] == 'x') || (m[i] == 'c' && n[j] == 'z')) {
continue;
} else if ((m[i] == 'b' && n[j] == 'z') || (m[i] == 'b' && n[j] == 'y')) {
continue;
} else {
System.out.println(m[i] + " vs " + n[j]);
}
}
}
}
}
```
代码解释:
数组定义
`m` 数组表示三个人(A、B、C)。
`n` 数组表示三个人(X、Y、Z)。
主循环
使用两个嵌套的 `for` 循环遍历所有可能的比赛组合。
每个循环变量 `i` 和 `j` 分别表示 `m` 和 `n` 数组中的元素。
条件判断
如果 `m[i]` 是 'a' 且 `n[j]` 是 'x',则跳过该组合。
如果 `m[i]` 是 'a' 且 `n[j]` 是 'y',则跳过该组合。
如果 `m[i]` 是 'c' 且 `n[j]` 是 'x' 或 'z',则跳过该组合。
如果 `m[i]` 是 'b' 且 `n[j]` 是 'z' 或 'y',则跳过该组合。
如果以上条件都不满足,则输出该组合 `m[i] vs n[j]`。
运行结果:
运行该程序将输出所有满足条件的比赛组合,例如:
```
a vs y
a vs z
b vs x
b vs z
c vs x
c vs y
```
这个程序可以确保每个人不与自己以及同一个人比赛,并且所有可能的组合都会被输出。