import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
import javax.swing.text.AttributeSet.CharacterAttribute;
/**
- 1.创建List<String>之后,往其中添加十条随机字符串
- 2.每条字符串的长度为10以内的随机数
- 3.每条字符串的每个字符都为随机生成的字符,字符可以重复
- 3.每条随机字符串不可以重复
- @author Administrator
-
/
public class Collections_Xunhuan {
public void Colle(){
//1.创建List<String>之后,往其中添加十条随机字符串
List<String>stringList=new ArrayList<String>();
//创建随机对象
Random random=new Random();
//创建String K
String K;
//K的字符串为0-9和26键大小写
K="1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm";
//for循环
for(int i=0;i<10;i++){
//每次循环生成一个10以内的随机数,当然这里可以直接调用random对象更方便但我想用这个练练熟悉
int L=(int)(Math.random()10);//这里为什么不+1???因为+1看着不舒服,万一弄了个10+1=11了
//且L不能小于等于0,如果小于等于0则跳过循环并且i--;
if(L<=0){
i--;
continue;
}
//创建一个StringBuilder对象用来保存存蓄的字符串
StringBuilder GG= new StringBuilder();
//再创建一个for循环用来获取K的字符串
for (int j = 0; j < L; j++) {
//创建一个K的长度以内的随机数
int k=(int)(Math.random()*K.length());
//将k从K获取的字符串传入GG中
GG.append(K.charAt(k));
}
//判断GG不能重复
while(stringList.contains(GG));
//遍历GG
stringList.add(GG.toString());
//输出GG
System.out.println("成功生成随机数: "+GG);
}
System.out.println("-----------------排序前-----------------");
//遍历stringList
for (String string : stringList) {
System.out.println("元素:"+string);
}
System.out.println("-----------------排序后-----------------");
//遍历stringList
for (String string : stringList) {
//排序stringList
Collections.sort(stringList);
System.out.println("元素:"+string);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Collections_Xunhuan jj=new Collections_Xunhuan();
jj.Colle();
}
}