/** * 要求:随机打印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(); }