基本练习6

该代码段展示了一个Java程序,用于生成一个由大小写字母和数字组成的5位随机字符串验证码,并进行用户输入验证。程序首先初始化一个包含所有可能字符的数组,然后通过Random类生成随机数来构建验证码。用户输入的验证码与生成的验证码进行比较,如果匹配则输出"对的"。
摘要由CSDN通过智能技术生成

请从26个英文字母(大小写都包含),以及数字0-9中,随机产生一个5位的字符串验证码并打印在控制台

效果:uYq8I,3r4Zj

代码:

public class RandomDemo2 {
    public static void main(String[] args) {
        //动态初始化数组
        char[] arr = new char[26 + 26 + 10];
        //初始化数组
        initData(arr);
        String s = getRandomString(arr);
        checkCode(s);
    }

//    此方法用于输入验证码并判断
    public static void checkCode(String s) {
        //输入并判断
        System.out.println("请输入验证码:");
        Scanner sc = new Scanner(System.in);
        String inputString = sc.next();
        if (inputString.equals(s)){
            System.out.println("对的");
        }
    }
    
//    此方法用于随机产生一个5位的字符串验证码
    public static String getRandomString(char[] arr) {
        //产生随机数
        Random r = new Random();
        //随机产生一个5位的字符串
        String s = "";
        for (int i = 0; i < 5; i++) {
            int num = r.nextInt(arr.length);
            s += arr[num];
        }
        System.out.println(s);
        return s;
    }

    /**
     * 此方法用于初始化数组,内容为a~z A~Z 0~9
     */
    public static void initData(char[] arr) {
        //填充数组,用a~z A~Z 0~9
        int index = 0;
        //a~z
        for (char c = 'a'; c <= 'z'; c++) {
            arr[index] = c;
            index++;
        }
        //A~z
        for (char c = 'A'; c <= 'Z'; c++) {
            arr[index] = c;
            index++;
        }
        for (char c = '0'; c <= '9'; c++) {
            arr[index] = c;
            index++;
        }
//        细节:println(char[]),打印字符数组,在源代码中,println()会自动遍历数组,故直接打印内容
//        System.out.println(arr);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值