作业(利用ASCii码)
代码如下:求解为什么生成的随机字符串里有a~z意外的字符?我的random函数哪里出错了?
//练习,随机字符串sort方法;
public void testSort3(){
List<String> stringList2= new ArrayList<String>();
Random random = new Random();
String s = new String();
for(int i=0;i<10;i++){
do{
int s_long = s.length();
Integer k=random.nextInt(10);
s_long=k;
//调用字符串生成函数;输入s_long取相应长度随机字符串;
s=randomString(s_long);
}while(stringList2.contains(s));
stringList2.add(s);
}
System.out.println("----------before sort()----------");
for(String string:stringList2){
System.out.println("随机字符串:"+string);
}
Collections.sort(stringList2);
System.out.println("----------after sort()----------");
for(String string:stringList2){
System.out.println("随机字符串:"+string);
}
}
public String randomString(int k){
String s="";
Random r=new Random();
for(int i=0;i<k;i++){
//a~z : 97~122
s=s+(char)Math.abs(r.nextInt()%26+97);
}
return s;
}
结果如下: