需求:
定义方法实现随机产生一个5位的验证码
验证码格式:
长度为5,前四位是大写字母或者小写字母,最后一位是数字
实现思路:先将大小写字母放入长度为52的letters字符数组中。建立一个长度为5新字符数组code,用于存放验证码.利用随机数从letters中抽取四个字母字符,作为验证码的前四位,验证码的最后一位从字符‘0’-‘9’中抽取。
代码实现:
package VerificationCode;
import java.util.Random;
public class VerificationCode {
public static void main(String[] args) {
//将26个字母的大小写放入数组letters中
char[] letters = new char[52];
for (int curpos = 0;curpos < letters.length;curpos ++){
if (curpos < letters.length/2){
//小写字母在ascii中中对应的码值为97-122
letters[curpos] = (char)(97 + curpos);
}else{
//大写字母在ascii中中对应的码值为65-90
letters[curpos] = (char)(65 + curpos - 26);
}
}
//将验证码放入数组code中
char[] code = new char[5];
Random random = new Random();
//利用for循环在字母数组letters中随机抽取四个字母作为验证码的前四位
for (int curpos = 0;curpos < code.length-1;curpos ++){
code[curpos] = letters[random.nextInt(52)];
}
//在数字字符‘0’-‘9’间抽取一个数字字符作为验证码的最后一位
//数字字符在ascii中中对应的码值为48-57
code[code.length-1] = (char)(random.nextInt(10)+48);
for (int curpos = 0;curpos < code.length;curpos ++){
System.out.print(code[curpos]);//打印验证码
}
}
}
代码结果:
rlNl6