展开全部
要随机去的话还是有点复杂。我给你做出62616964757a686964616fe58685e5aeb931333337383334来了。
你这个数据太多了。有40320种情况。你可以把数据元素弄少点,试试。package a;
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
public class MakeString {
//随机变量
private static Random random=new Random();
//Set不重复的保存取到的结果
private static Set list=new HashSet();
//待处理数组
private static String[] str = new String[]{"b","p","m","f","d","t","n","l"};
//计算排列总数
public static int getNumber(int len){
if(len==1){
return 1;
}else{
return len*getNumber(len-1);
}
}
//随机取三个字符组合在一起
public static String getChar(String [] str){
String result="";
result+=str[random.nextInt(str.length)];
result+=str[random.nextInt(str.length)];
result+=str[random.nextInt(str.length)];
return result;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
//计算总数
int count=getNumber(str.length);
//如果set里面数据不等于Count,继续计算
while(true){
list.add(getChar(str));
if(list.size()==count)
break;
}
//算完了,输出
for (String s : list) {
System.out.println(s);
}
}
}