package object; import java.util.Random; public class StringDemo12 { public static void main(String[] args) { getRandomCode(); } //生成验证码 public static String getRandomCode() { //调用方法使字母和数字生成一个字符串 String letter = getLetter(); int number = getNumber(); String str = letter + number; //将字符串变成字符数组 char[] code = str.toCharArray(); //将字符数组内容顺序随机打乱 Random random = new Random(); for (int i = 0; i < code.length; i++) { //获取随机索引 int index = random.nextInt(code.length); //定义初始值与随机索引交换 char temp = code[i]; code[i] = code[index]; code[index] = temp; } //将字符数组变回字符串 String end = new String(code); System.out.println(end); return end; } //生成数字 public static int getNumber() { //随机产生0-9的数字 Random random = new Random(); int number = random.nextInt(10); return number; } //生成大小写字母 public static String getLetter() { //创建数组存储大小写字母 char[] arr = new char[52]; for (int i = 0; i < arr.length; i++) { if (i <= 25) { //ASCII码表 a--97 A--65 arr[i] = (char) (97 + i); } else { arr[i] = (char) (65 + i - 26); } } //随机抽取四次 Random random = new Random(); //定义空字符串记录随机获取的字母 StringBuilder result = new StringBuilder(); for (int i = 0; i < 4; i++) { int index = random.nextInt(arr.length); result.append(arr[index]); } return result.toString(); } }
随机生成五位数验证码(字母数字混合)
最新推荐文章于 2024-05-23 15:40:13 发布