生成验证码
内容:可以是小写字母,也可以是大写字母,还可以是数字
规则:
长度为5
内容中是四位字母,1位数字。
其中数字只有1位,但是可以出现在任意的位置。
public static void main(String[] args) {
char[] chs = new char[52];
for (int i = 0; i < chs.length; i++) {
//ASCII码表
if(i <= 25){
chs[i] = (char)(97 + i);
}else{//27
chs[i] = (char)(65 + i - 26);
}
}
String code = "";
Random r = new Random();
for (int i = 0; i < 4; i++) {
int randomIndex = r.nextInt(chs.length);
//System.out.println(chs[randomIndex]);
code = code + chs[randomIndex];
}
//System.out.println(result);
int number = r.nextInt(10);
code = code + number;
char[] arr = code.toCharArray();
for (int i = 0; i < arr.length; i++) {
int index = r.nextInt(arr.length);
char temp = arr[i];
arr[i] = arr[index];
arr[index] = temp;
}
String result = new String(arr);
//输出打印
System.out.println(result);
}
新手老铁可根据以下步骤练习:
1.大写字母和小写字母都放到数组当中
添加小写字母
添加大写字母
定义一个字符串类型的变量,用来记录最终的结果
2.随机抽取4次
随机抽取数组中的索引
利用随机索引,获取对应的元素
3.随机抽取一个数字0~9
生成最终的结果
4.变成字符数组打乱数据
将字符数组再变回字符串
标签:练习题,arr,code,Java,String,int,char,chs,较难 From: https://blog.51cto.com/u_15912723/6123293