Java从零码起08-生成验证码

需求:定义方法随机生产一个指定位数的验证码(每位可能是数字,大写字母,小写字母)

public class Main {
    public static void main(String[] args) {
        //输入验证码位数
        System.out.println("输入验证码的位数:");
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        //调用方法生成验证码
        String code = code(num);
        System.out.println(code);
    }

    private static String code(int num) {
        StringBuilder code = new StringBuilder();
        Random r = new Random();
        //定义for循环,循环num次。生产num个随机值
        for (int i = 0; i < num; i++) {
            //调用random,生成一个随机数范围为3:0为大写,1为小写,2为数字
            int type = r.nextInt(3);
            switch (type) {
                case 0:
                    //调用random方法,生成大写字母对应的ascii码(65-90)
                    code.append((char) (r.nextInt(25) + 65));
                    break;
                case 1:
                    //调用random方法,生成小写字母对应的ascii码(97-122)
                    code.append((char) (r.nextInt(25) + 97));
                    break;
                case 2:
                    //调用random方法,生成数字(0-9)
                    code.append(r.nextInt(9));
                    break;
            }

        }
        return code.toString();
    }
}

输入验证码的位数:
5
Ego0c

上一篇:使用Esxi虚拟化部署OpenWrt/HomeLede+扩容硬盘 保姆级教程


下一篇:AT5158 [AGC037A] Dividing a String