生成随机字符串
看了一些同学的代码,基本都是自己写一个字符串库,把大小写字母还有0~9数字添加进去,这样做的话是不是漏掉了很多字符,比如一些标点符号什么的,多以问下有没有更全一点的方法,问度娘也基本都是这种自己添加的方法,这样是不是漏掉了一部分字符,,所以说还算不上随机......
看了一些同学的代码,基本都是自己写一个字符串库,把大小写字母还有0~9数字添加进去,这样做的话是不是漏掉了很多字符,比如一些标点符号什么的,多以问下有没有更全一点的方法,问度娘也基本都是这种自己添加的方法,这样是不是漏掉了一部分字符,,所以说还算不上随机......
2017-10-10
/*我通过SACII码实现的*/
List<String> sbList = new ArrayList<String>();
StringBuffer sb = new StringBuffer(); //用于存放随机字符,形成随机字符串
int x;
int j;
char m ;
String k;
Random ram = new Random();
for(int i = 0;i<10;i++){
do{
x = ram.nextInt(9)+1; //随机生成字符串的长度
for(j=0 ; j<x ; j++){
m=(char) (ram.nextInt(126)+1); //将生成的字符添加到字符串数组中
sb.append(m);
}
k=sb.toString(); //将Buffer转换成字符串
}while(sbList.contains(k)); //保证字符串不能重复
sbList.add(k); //添加字符串到List中
sb.delete(0, x); //删除缓存中已有的字符
}
举报