import java.util.Random;
public class demo1 {
public static void main(String[] args) {
/*
需求:定义发放实现随机产生一个5位的验证码
验证码格式:
长度为五,前四位为大写或者小写字母
最后一位为随机数字
*/
/*
方法:26个小写字母和26个大写字母通过数组进行打乱
面对没有规律的一堆数字,可以利用数组中利用索引进行抽取。
最后一位数字调用rangde方法产生。
*/
//调用方法
suijishu();
}
//分析:
//1.大小写字母都放进数组中:
public static void suijishu () {
//生成字符数据类型数组 长度为52 包头不包尾
char[] chs = new char[52];
for (int i = 0; i < chs.length; i++) {
//给0~25传递a~z 再给26~52传递A~Z
if (i <= 25){
chs[i] = (char)(97 + i); // ASCII表中 a~z 97~122 A~Z 65~90
}else{
chs[i] = (char)(65 + i - 26); //也可以写成 39 + i
}
}
//2.利用random类生成一个对象r 利用r调用random类中的nextInt方法
Random r = new Random();
//定义一个字符串 来接收前四位
String result = "";
//利用随机索引获取元素
for (int i = 0; i < 4; i++) {
int randomIndex = r.nextInt(chs.length); //每次循环都重新生成一个随机数
result = result + chs[randomIndex]; //利用随机数调用数组chs的下标
}
int randomnum = r.nextInt(11);
result = result + randomnum;
System.out.println(result);
}
}
运行结果如上