需求:
Admin_LOg
– 定义方法实现随机产生一个5位的验证码
– 验证码格式:
– 长度为5
– 前四位是大写字母或小写字母
– 最后一位是数字
复制代码
- import java.util.Random;
- public class Random_Verification_Code2 {
- public static void main(String[] args) {
- /*
- 需求:
- - 定义方法实现随机产生一个5位的验证码
- - 验证码格式:
- - 长度为5
- - 前四位是大写字母或小写字母
- - 最后一位是数字
- */
- /*
- 方法:
- - 在以后如果要在一堆没有什么规律的数据中随机抽取
- - 可以先把这些数据放到数组当中
- - 再随机抽取一个索引
- */
- // 分析:
- // 1. 大写字母和小写字母都放到数组当中
- char[] chs = new char[52];
- for (int i = 0; i < chs.length; i++) {
- // ASCII码表
- if (i <= 25) {
- //添加小写字母
- // a --- 97
- chs[i] = (char) (97 + i);
- // chs[i] = (char) ('a' + i);
- } else {
- //添加大写字母
- // A --- 65
- // -26是因为前面i已经自增到26,若先生成大写字母则可以避免此问题。
- chs[i] = (char) (65 + i - 26);
- // chs[i] = (char) ('A' + i - 26);
- }
- }
- // 定义字符串类型变量,用来记录最终的结果
- String result = "";
- // 2. 随机抽取四次
- // 随机抽取数组中的索引
- Random r = new Random();
- for (int i = 0; i < 4; i++) {
- int randomIndex = r.nextInt(chs.length);
- // 利用随机索引获取对应的元素
- // System.out.println(chs[randomIndex]);
- result = result + chs[randomIndex];
- }
- // System.out.println(result);
- // 3. 随机抽取一个数字 0 ~ 9
- int number = r.nextInt(10);
- result = result + number;
- System.out.println(result);
- }
- }