产生长度为10以内随机整数的随机字符串(java)
这个题目有两个难点,第一就是怎样产生随机字符串,第二是怎么让随机字符串的长度为10以内随机整数。
解决第一个问题,产生随机字符串
public String getRandomString(int length){
//定义组成随机字符串的所有字符
String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
Random random=new Random();
StringBuffer sb=new StringBuffer();
for(int i=0;i<length;i++){
//产生62以内的随机数,因为组成随机字符串的字符有62个
int number=random.nextInt(62);
//将str的第number个字符加到sb的末尾
sb.append(str.charAt(number));
}
return sb.toString();
}
解决第二个问题,让随机字符串的长度为10以内随机整数
public void getRandomLengthString(){
//用一个String泛型的List来存放10个长度为10以内的随机整数的随机字符串
List<String> stringList=new ArrayList<String>();
Random random=new Random();
int k;
for(int i=0;i<10;i++){
//产生10以内的随机整数
k=random.nextInt(10);
//当stringList中没有该随机产生的字符串时把字符串加入到stringList中,避免stringList中有重复的随机字符串。
do{
str=getRandomString(k);
}while(stringList.contains(str));
stringList.add(str);
}
}