Java教程

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

本文主要是介绍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

这篇关于Java从零码起08-生成验证码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!