import java.util.Random;
public class StringDemo13 {
public static void main(String[] args) {
/*
生成验证码
内容:共5位 4字母 + 1数字 组成
可以是小写字母,也可以是大写字母
*/
//1.把52个大小写字母放到数组中
char[] arr = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
//2.随机生成四次字母 放入新字符数组中
Random r = new Random();
char[] arrTemp = new char[4]; //新数组
for (int i = 0; i < arrTemp.length ; i++) { //获取四次
int index = r.nextInt(52); //随机下标
arrTemp[i] = arr[index]; //新数组获取字母中的随机元素
}
//3.随机数字放进数组 新数组 》 字符串 》 容器 》 添加最后1位的数字到容器 》 abcd1
String str = new String(arrTemp);
StringBuilder sb = new StringBuilder(str);
sb.append(r.nextInt(10)); // abcd1
str = sb.toString();
//4.将最后一位数组的下标和前四位字母的下标随机调换 字符串》字符数组 》循环打乱顺序
char[] arr3 = str.toCharArray();
int index1 = r.nextInt(4);
for (int i = 0; i < arr3.length; i++) {
char temp = ' '; //随机下标和最后一位下标调换
temp = arr3[4];
arr3[4] = arr3[index1];
arr3[index1] = temp;
}
String str1 = new String(arr3);
System.out.println(str1);
}
}
java生成5位验证码
最新推荐文章于 2024-05-29 11:42:44 发布