//第一种随机字母数字生成private static String reduceNum() { //定义一个字符串(A-Z,a-z,0-9)即62位; String str = "zxcvbnmlkjhgfdsaqwertyuiopQWERTYUIOPASDFGHJKLZXCVBNM1234567890"; //由Random生成随机数 Random random = new Random(); StringBuffer buffer = new StringBuffer(); //生成一个长度为7的字符串 for (int i = 0; i < 7; i++) { //产生0-61个数字 int num = random.nextInt(62); //将产生的数字循环7次存放进StringBuffer中 buffer.append(str.charAt(num)); } //将StringBuffer转换成string return buffer.toString();}
//第二种随机字母数字生成public String getRandom(int length) { String str = ""; Random ran = new Random(); //参数length,表示生成几位数 for (int i = 0; i < length; i++) { String charOrNum = ran.nextInt(2) % 2 == 0 ? "char" : "num"; //输出字母还是数字 if ("char".equalsIgnoreCase(charOrNum)) { //输出大写字母还是小写字母 int temp = ran.nextInt(2) % 2 == 0 ? 65 : 97; str += (char) (ran.nextInt(26) + temp); } else if ("num".equalsIgnoreCase(charOrNum)) { str += String.valueOf(ran.nextInt(10)); } } return str;}
@Testpublic void run2() { String random = getRandom(7); String s = reduceNum(); System.out.println(random); System.out.println(s);}