import java.util.ArrayList;
/**
* 题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。
* 有人向队员打听比赛的名单。
* a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单
*/
public class Classic18 {
public static void main(String args[]){
ArrayList racerA = new ArrayList();
racerA.add("a");
racerA.add("b");
racerA.add("c");
ArrayList racerB = new ArrayList();
racerB.add("x");
racerB.add("y");
racerB.add("z");
ArrayList list = new ArrayList(); //可能的对手
int count =0; //A对中找到对手的人数
while(count <3){
for(int i=0;i<racerA.size();i++){
for(int j =0;j<racerB.size();j++){
if(racerA.get(i).equals("a")) {
if (!racerB.get(j).equals("x")) //a 的对手不是 x
list.add(racerB.get(j));
}
else if(racerA.get(i).equals("b")) //b 的对手起初无限定
list.add(racerB.get(j));
else if(racerA.get(i).equals("c")){
if((!racerB.get(j).equals("x")) && (!racerB.get(j).equals("z")))//c的对手不是x,z
list.add(racerB.get(j));
}
}
if(list.size()==1){//可能对手只有一名,则此人就是racerA的对手
count++; //
System.out.println(racerA.get(i)+"的对手是:"+list.get(0));
racerA.remove(racerA.get(i));
racerB.remove(list.get(0));
list.clear();
break;
}
list.clear();
}
}
}
}
Java经典50题之18
最新推荐文章于 2022-05-06 10:55:04 发布