java实现如下功能:
                  String [] a={"高","矮"};
String [] b={"男","女"};
String [] c={"初中生","高中生","大学生"};
String [] d={"聪明","笨蛋"};           从这些数组中每个数组中选出一个元素,然后进行排列组合。

解决方案 »

  1.   

    import java.util.ArrayList;
    import java.util.List;
    public class Test {
    public static void main(String st[]){
    String [] a={"高","矮"};
    String [] b={"男","女"};
    String [] c={"初中生","高中生","大学生"};
    String [] d={"聪明","笨蛋"};
    List<String[]> list=new ArrayList<String[]>();
    list.add(a);
    list.add(b);
    list.add(c);
    list.add(d);
    st(new int[0],list);
    }
    public static void st(int[] indexs,List<String[]> list){

    int size=list.size();
    if(indexs.length==0){
    indexs=new int[size];

    for(int i=0;i<size;i++){
    indexs[i]=0;
    }
    }
    for(int i=0;i<size;i++){
    if(indexs[i]>list.get(i).length-1){
    if(i!=size-1){
    indexs[i]=0;
    indexs[i+1]=indexs[i+1]+1;
    }else{
    return;
    }
    }
    }
    for(int i=0;i<size;i++){
    System.out.print(list.get(i)[indexs[i]].toString() +" ");
    }

    System.out.println();
    System.out.println("___________");

    indexs[0]+=1;
    st(indexs,list);
    }
    }