生成指定位数的验证码

import java.util.Random;
import java.util.Scanner;

public class code {
    public static void main(String[] args) {
        //需求:开发一个程序,可以生成指定位数的验证码,每位可以是数字、大小写字母。
        Scanner scanner = new Scanner(System.in);
        System.out.println("------请输入需要生成验证码的长度------");
        int codeLength = scanner.nextInt();
        System.out.println("生成的验证码为:"+randomCode(codeLength));
    }
    public static String randomCode(int codeLength){
        //思路:用三个数字分别表示,0表示生成随机数,1表示生成随机大写字母,2表示生成随机小写字母。
        Random random = new Random();
        String codes = "";//接受生成的验证码。
        for (int i = 1; i <= codeLength ; i++) {//表示生成几位验证码。
            int codeType = random.nextInt(3);//由于生成的验证码字符类型有三种,所以仅需生成0、1、2,所以边界值为3。
            switch (codeType){
                case 0 : codes = codes + random.nextInt(10);//生成一位数字,所以边界值为10.注意:中间的“+”为字符串拼接符。
                    break;
                case 1 : codes = codes + (char)(random.nextInt(26)+65);//ASCLL表中,A->65,Z->90,所以生成65~90的数字并强制类型转换成字符类型。
                    break;
                case 2 : codes = codes + (char)(random.nextInt(26)+97);//ASCLL表中,a->97,z->122,所以生成97~122的数字并强制类型转换成字符类型。
            }
        }
        return codes;
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值