多个数组全排列组合(不取重)

比如有个三个数组: String[] str1={"a","b"};  String[] str2={"c","d"}; String[] str3={"e","f"};
最后组合成8个数组:
{ace}
{acf}
{ade}
{adf}
{bce}
{bcf}
{bde}

{bdf}

public class Main {

public static void main(String args[]){

System.out.println("主程序中运行");

String[] str1={"a","b"};  String[] str2={"c","d"}; String[] str3={"e","f"};

int n=str1.length*str2.length*str3.length;

int m=0;

String []str4=new String[n];

for(int i=0;i<str1.length;i++)

for(int k=0;k<str2.length;k++)

for(int l=0;l<str3.length;l++){

str4[m]=str1[i]+str2[k]+str3[l];

m++;

}

for(int j=0;j<n;j++)

System.out.println(str4[j]);

Main main=new Main();

String []str5=main.fun(str1, str2, str3);

for(int j=0;j<str5.length;j++)

System.out.println(str5[j]);

}

String []fun(String []str1,String []str2,String []str3){

System.out.println("方法调用,传入3个数组,返回排列数组");

int n=str1.length*str2.length*str3.length;

int m=0;

String []str4=new String[n];

for(int i=0;i<str1.length;i++)

for(int k=0;k<str2.length;k++)

for(int l=0;l<str3.length;l++){

str4[m]=str1[i]+str2[k]+str3[l];

m++;

}

return str4;

}

}

直接主程序可以直接运行的亲,直接主程序和方法调用两种方法都有

猜你喜欢

转载自blog.csdn.net/u012365843/article/details/48026037