1.验证码规则:
1.长度为5
2.由4位大写或者小写字母和1位数子组成,同一个字母可以重复
3.数字可以出现在任意位置
例子:0ahB
2.代码实现:
package student;
import java.util.ArrayList;
import java.util.Random;
public class test {
public static void main(String[] args) {
String code = getcode();
System.out.println(code);
}
private static String getcode() {
ArrayList<Character> list = new ArrayList<>();
//1.创建一个集合添加所有的大写和小写
for (int i = 0; i < 26; i++) {
list.add((char) ('a' + i));
list.add((char) ('A' + i));
}
//2.随机抽取四个字符
Random r = new Random();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 4; i++) {
//获取随机索引
int index = r.nextInt(list.size());
//利用索引来获取字符串
char c = list.get(index);
//将它们拼接起来
sb.append(c);
}
//3.添加数字
int m = r.nextInt(10);
sb.append(m);
//3.1 出现在任意位置
//在数组中 修改会比较方便
char[] arr = sb.toString().toCharArray();
int randomIndex = r.nextInt(arr.length);
//将最后一个索引和随机索引进行交换 从而达到 数字随机的效果
char temp = arr[randomIndex];
arr[randomIndex] = arr[arr.length - 1 ];
arr[arr.length - 1] = temp;
return new String(arr);
}
}
如果有帮助的话 可以给俺点个小花花 谢谢~