实现随机验证码

随机验证码:


法一:普通方法

核心逻辑:

  • 1.定义一个String类型的变量存储验证码字符。
  • 2.定义一个for循环,循环n次(n为验证码的所需要字符的个数)。
  • 3.随机生成三个数字依次表示:大写字母、小写字母、数字。并使用switch语句判断。
  • 4.把生成的数字给switch判断并生成对应的随机字符,把字符交给String变量。
  • 5.循环结束后,返回String类型的变量。

代码展示:


//1.定义一个方法返回一个随机验证码:String
public static String creatCode(int n) {

    //2.循环n次,依次生成随机字符
    String code = "";
    Random random = new Random();
    for (int i = 0; i < n; i++) {
        //3.生成一个随机字符:英文 大写 小写 数字(0 1 2)
        int type = random.nextInt(3);
        switch (type) {
            case 0:
                //大写 (65 ~ 65+25) = (0 ~ 25)+65
                char ch = (char) (random.nextInt(26) + 65);
                code += ch;
                break;
            case 1:
                //小写 (0 ~ 25) + 97
                char ch1 = (char) (random.nextInt(26) + 97);
                code += ch1;
                break;
            case 2:
                //数字
                code += random.nextInt(10); // 0 ~ 9
                break;
        }
    }
    return code;
}


法二:

核心逻辑:String类方法

  • 1.定义一个String类型变量存储a~z A~Z 0~9之间的全部字符。
  • 2.循环5次,随机一个范围内的索引,获取对应字符连接起来即可。

代码展示:

//1.定义可能出现的字符信息
        String data = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

        //2.循环5次,每次生成一个随机的索引,提取对应的字符连接起来即可
        Random random = new Random();
        String code = "";
        for (int i = 0; i < 5; i++) {
            //随机一个索引
            int index = random.nextInt(data.length());
            char c = data.charAt(index);
            code += c;
        }
        //3.输出字符串变量
        System.out.println(code);

代码核心逻辑来自黑马案例

posted @ 2022-06-22 18:42  Haziy  阅读(194)  评论(0编辑  收藏  举报