java专项练习(验证码)

复制代码
package 专题练习;

import java.util.Random;

public class Developing_CAPTCHA {
    public static void main(String[] args) {
        /* 需求:定义方法生成一个5位的验证码 验证码长度为5,前四位为大或小写字母,最后一位是数字*/
        //方法: 如果我们要在一堆没有规律的数据中随机抽取,可以先把这些数据放到数组当中,再随机索引抽取
        char[]  alphabet = new char[52];
        for (int i = 0; i < alphabet.length; i++) {
            if( i < 26) {
                alphabet[i] = (char) ('A' + i );
            }
            //大写字母比小写字母的ascii值小  'a' = 65  'A' = 97,65+26=91, 97-91 = 6,有六个不是字母
            else{
                //所以就不能连着装进数组,就要拆分装,那么就从'a'开始,那就要让i重新置为0,在上面的if语句结束之后i最后就等于26
                alphabet[i] = (char) ('a' + i - 26);
            }
        }
        //字母数组创建完成

        Random k = new Random();
        char[] guess_zimu = new char[4];
        for (int j = 0; j < 4; j++) {
            int guessindex = k.nextInt(51);
            guess_zimu[j] = alphabet[guessindex];
        }

        String news = new String(guess_zimu);
//        System.out.println(news);

        int guessnumber = k.nextInt(10);
//        System.out.println(guessnumber);

        String po = news + guessnumber;
        System.out.println(po);
        //字符串 + 数子   可以直接变成一个新的字符串 我这样写有点麻烦了
相关推荐
June bug1 分钟前
(#数组/链表操作)合并两个有重复元素的无序数组,返回无重复的有序结果
数据结构·python·算法·leetcode·面试·跳槽
这周也會开心2 分钟前
SSM 配置 index 页面的实现方式
java·tomcat·springmvc
黎雁·泠崖7 分钟前
Java继承入门:概念+特点+核心继承规则
java·开发语言
人工智能AI技术7 分钟前
【Agent从入门到实践】33 集成多工具,实现Agent的工具选择与执行
人工智能·python
AIFQuant17 分钟前
如何通过股票数据 API 计算 RSI、MACD 与移动平均线MA
大数据·后端·python·金融·restful
sheji341620 分钟前
【开题答辩全过程】以 小区物业管理APP为例,包含答辩的问题和答案
java
x70x8024 分钟前
Go中nil的使用
开发语言·后端·golang
70asunflower24 分钟前
Python with 语句与上下文管理完全教程
linux·服务器·python
星辰徐哥31 分钟前
Java程序的编译与运行机制
java·开发语言·编译·运行机制
老毛肚31 分钟前
Spring 6.0基于JDB手写定制自己的ROM框架
java·数据库·spring