题目:

两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。

已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,

请编程序找出三队赛手的名单。   

 

PS:

如果不使用面向对象编程方式,解出题目应该很简单。但是,如果想学深一些,一定要逐步建立自己面向对象编程的思维。

 

下面是使用面向对象编程解决

Java 实现源代码

 

import java.util.ArrayList;
public class pingpang {
String a, b, c;
public static void main(String[] args) {
String[] op = { "x", "y", "z" };
ArrayList<pingpang> arrayList = new ArrayList<pingpang>();


for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
for (int k = 0; k < 3; k++) {
pingpang pp = new pingpang(op[i], op[j], op[k]);
if (!pp.a.equals(pp.b) && !pp.b.equals(pp.c)
&& !pp.a.equals("x") && !pp.c.equals("x")
&& !pp.c.equals("z")) {
arrayList.add(pp);
}
}
for (Object a : arrayList) {
System.out.println(a);
}
}

public pingpang(String a, String b, String c) {
super();
this.a = a;
this.b = b;
this.c = c;
}

@Override
public String toString() {
return "a:" + a + " " + "b:" + b + " " + "c:" + c + "\n";
}
}

 

运行结果如下图:

 

面向对象方式解决比赛名单类问题(Java实现)_比赛名单