一个叫department的表,里面只有一个字段name,一共有4条纪录,分别是a,b,c,d,对应四个球对,现在四个球对进行比赛,用一条sql语句显示所有可能的比赛组合.
答:select a.name, b.name 
from team a, team b 
where a.name < b.name
如果本题不使用sql,用Java怎么实现这种搭配??

解决方案 »

  1.   

    用纯JAVA的话可以尝试一下嵌套的for循环,把球队放入一个数组中String[] teams = {"a","b","c","d"};
    String result = "";
    for(int i=0;i<teams.length;i++){
    for(int j=0;j<i;j++){
    result += teams[i]+" vs "+teams[j]+"\n";
    }
    }
    结果:
    b vs a
    c vs a
    c vs b
    d vs a
    d vs b
    d vs c
      

  2.   


    public static void main( String[] args )
    {
    String[] teams = {"a","b","c","d"};
    String result = "";
    for(int i=0;i<teams.length;i++){
        for(int j=0;j<teams.length;j++){
         if(i!=j)
         result += teams[i] + " vs " + teams[j] + "\n";
        }
    }
    System.out.println( result );
    }
      

  3.   

    SQL 实现~似乎有点难度~~~关注~~~
      

  4.   

    楼主都写出sql来了,他是要程序
      

  5.   

    不明白什么是SQL语言,这种语言是JAVA里的吗?
      

  6.   

    怎么都是这一种,来,我换一种算法for(int i = 0; i<team.length-1; i++ ){
        for(int j=i+1; j<team.length; j++){
              teams[i]   teams[j]
        }
    }