/**
* 要求:随机打印50个随机(4-10长度)的字符串,要求字符串包含的范围是所有的英文字母包含大小写和数字,
* 按照编码顺序排序,每行打印4个,要求首字符对齐
* @author fanyukai
*
*/
public class RandomNum {
public static void main(String[] args) {
//产生随机长度(4-10)
int randomNum = (int)(Math.random()*6)+4;//用这种方法下面的方法中数组不会越界
/*用这种方法产生随机数,下面方法的数组有时会月结
* Random ran = new Random();
* int randomNum1 = ran.nextInt(7)+4;
*/
//产生随机字符串,长度为随机产生的长度(4-10)
List<String> listStr = new ArrayList<String>();
int i = 0,count=0;
while(i<50){
String ranStr=randomStr(randomNum);
listStr.add(ranStr);
i++;
count++;
}
for(i=0;i<listStr.size();i++){
System.out.println(listStr.get(i));
}
System.out.println(count);
/*String ranStr=randomStr(randomNum);
System.out.println(ranStr);*/
}
public static String randomStr(int randomNum){
char[] str = new char[randomNum];
int i = 0;
while (i<randomNum){
int f = (int) (Math.random()*3);
if(f==0){
str[i] = (char) ('a' + Math.random()*26);
}else if(f==1){
str[i] = (char) ('A' + Math.random()*26);
}else{
str[i] = (char) ('0' + Math.random()*10);
}
i++;
}
return str.toString();
}