随机生成验证码(Java实现)

需求:

定义方法实现随机产生一个5位的验证码,每位可能是数字、大写字母、小写字母。

分析

① 定义一个方法,生成验证码返回:方法参数是位数、方法的返回值类型是String。 ② 在方法内部使用for循环生成指定位数的随机字符,并连接起来。 ③ 把连接好的随机字符作为一组验证码进行返回。

代码

package com.xxf.casedemo;

import java.util.Random;

public class creatcode {
          
   
    public static void main(String[] args) {
          
   
        //4、调用获取验证码的方法得到一个随机验证码
        String code = creatCode(5);//5位验证码
        System.out.println("随机验证码" + code);
    }
/*
* 1、定义一个方法返回一个随机验证码
* */
    public static String creatCode(int n) {
          
   
        //3、定义一个字符串变量记录生成的随机字符
        String code = "";
        Random r = new Random();
        //2、定义一个for循环,循环n次,依次生成随机字符
        for (int i = 0; i < n; i++) {
          
   
            //i=0 1 2
            //3、生成一个随机字符,英文大、小写 数字(0 1 2 )
            int type = r.nextInt(3);//0 1 2
            switch (type) {
          
   
                case 0:
                    //大写字符(A 65-Z 65+25)
                    char ch = (char) (r.nextInt(26) + 65);
                    code += ch;
                    break;
                case 1:
                    //小写字符(a 97-z 97+25)
                    char ch1 = (char) (r.nextInt(26) + 97);
                    code += ch1;
                    break;
                case 2:
                    //数字字符
                    code += r.nextInt(10);//0-9
                    break;
            }
        }
        return code;
    }


}

运行结果

经验分享 程序员 微信小程序 职场和发展