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