SilenceDean
2016-07-07 21:10
public void testSort3(){
List<String> stringList=new ArrayList();
Random random=new Random();
for(int g=0;g<10;g++){
String b="";//每得到一次字符串并将其存入stringList后,将存放字符串的变量初始化
do{
for(int i=0;i<10;i++){
Integer k=random.nextInt(10);
String a=Integer.toString(k);
b+=a; //通过10次循环,得到字符串的每一位,并将其连接起来得到长度为10的字符串
}
}while(stringList.contains(b));
stringList.add(b);
System.out.println("添加了元素:"+b);
}
System.out.println("--------排序前--------");
for (String string : stringList) {
System.out.println("元素为:"+string);
}
Collections.sort(stringList);
System.out.println("--------排序后--------");
for (String string2 : stringList) {
System.out.println("元素为:"+string2);
}
}
想法很奇特,受教了!
这是改完的
public void testSort5(){
List<String> stringList=new ArrayList<String>();
String s="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
Random random=new Random();
int k;
for(int i=0;i<10;i++){
StringBuilder str=new StringBuilder();
do{
k=random.nextInt(11); //确定某个元素的字符串长度
}while(k==0);
for(int j=0;j<k;j++){ //为某个元素的字符串进行赋值
do{
char ch=s.charAt(random.nextInt(s.length()));
str.append(ch);
}while(stringList.contains(str));
}
String ss=str.toString();
stringList.add(ss);
System.out.println("添加了元素:"+ss);
}
System.out.println("---------排序前--------");
for (String string : stringList) {
System.out.println("元素为:"+string);
}
Collections.sort(stringList);
System.out.println("--------排序后--------");
for (String string : stringList) {
System.out.println("元素为:"+string);
}
}
...发现理解错了,是生成随机字符串
把题目看成了“每条字符串为长度10以内的随机整数”
Java入门第三季
409792 学习 · 4340 问题
相似问题