两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单
题目意思有点不解...既然说c不和x,z比,那只能和y比了。a不和x比,y已经和c比了,那只能和z比了。剩下的b只能和x比了
代码意思也不是很了解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 a=new pingpang(op[i],op[j],op[k]);
         if(!a.a.equals(a.b)&&!a.b.equals(a.c)&&!a.a.equals("x")
           &&!a.c.equals("x")&&!a.c.equals("z")){
          arrayList.add(a);
         }
        }
      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() {
      // TODO Auto-generated method stub
      return "a的对手是"+a+","+"b的对手是"+b+","+"c的对手是"+c+"\n";
     }
}

解决方案 »

  1.   

    题目没说每个人都要参赛。
    有可能1个队的一个人和另一个队的多个人进行比赛。所以不光是楼主所说的 a-z b-x c-y。还有其他可能。程序就是把3各组的对手都循环,满足条件的输出。如果说,每人都要参加的话。加个条件就OK了。if(a!=b && a!=c && b!=c)
      return "a的对手是"+a+","+"b的对手是"+b+","+"c的对手是"+c+"\n";
      

  2.   

    if(!a.a.equals(a.b)&&!a.b.equals(a.c)&&!a.a.equals("x")
               &&!a.c.equals("x")&&!a.c.equals("z")){
              arrayList.add(a);
    这句是判断什么
      

  3.   

    !a.a.equals(a.b)&&!a.b.equals(a.c)
    a和b的对手不同,b和c的对手不同。但是从题目里面来说应该没有这个说法。!a.a.equals("x")&&!a.c.equals("x")&&!a.c.equals("z")
    a说他不和x比,c说他不和x,z比
      

  4.   

    还是不明白...!a.a.equals(a.b)  a怎么出来方法了..没看见有a方法啊