JAVA之生成验证码
需求:定义方法实现随机产生一个5位的验证码,验证码格式:长度为5,前四位是大写字母或者小写字母,最后一位是数字。
import java.util.Random;public class task1 {public static void main(String[] args) {// 需求:定义方法实现随机产生一个5位的验证码,// 验证码格式:长度为5,前四位是大写字母或者小写字母,最后一位是数字// 创建一个长度为52的字符数组,用于存储所有英文字母// 26个小写字母 + 26个大写字母 = 52个字母char[] arr = new char[52];// 循环填充字符数组for (int i = 0; i < arr.length; i++) {// 英文字母为26位if (i < 26) {// 添加小写字母// ASCII码中'a'为97,所以97+0='a', 97+1='b', ..., 97+25='z'arr[i] = (char) (97 + i);} else {// 添加大写字母// ASCII码中'A'为65// 由于前面已经循环了26次(i=0-25),此时i从26开始// 所以要减去26让索引从0开始:65 + (i-26)// i=26时:65+0='A', i=27时:65+1='B', ..., i=51时:65+25='Z'arr[i] = (char) (65 + i - 26);}}// 初始化一个空字符串,用于存储最终生成的验证码String result = "";// 创建Random对象,用于生成随机数Random r = new Random();// 循环4次,生成前4位字母验证码for (int i = 0; i < 4; i++) {// 生成一个0到51之间的随机索引int index = r.nextInt(arr.length);// 根据随机索引从字符数组中获取对应的字母,并拼接到结果字符串中result = result + arr[index];}// 生成最后一位数字验证码(0-9之间的随机数)int num = r.nextInt(10); // 将数字拼接到结果字符串中result = result + num;// 输出最终生成的验证码System.out.println(result);}
}