用Java生成一个五位的随机验证码字符串,包含一个数字(数字可以在随机的位置)
private static String getCode(){
ArrayList<Character> str = new ArrayList<>();
StringBuilder sb = new StringBuilder();
//将大写字母和小写字母都放到ArrayList里
for (int i = 0; i < 26; i++) {
char c = (char)('a'+i);
char c2 = (char)('A'+i);
str.add(c);
str.add(c2);
}
//在集合str里随机抽取4个字母拼接到sb里
Random r = new Random();
for (int i = 0; i < 4; i++) {
int index = r.nextInt(str.size());
sb.append(str.get(index));
}
//随机拼接一个数字
int num = r.nextInt(10);
sb.append(num);
//如果我们要修改字符串的内容,需要先将字符串变为一个字符数组
char[] arr = sb.toString().toCharArray();
//拿着最后一个索引和随机索引交换
int rindex = r.nextInt(4);
char temp = arr[4];
arr[4] = arr[rindex];
arr[rindex] = temp;
//将数组变为字符串返回
return new String(arr);
}