IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java之----Random简单验证码的实现 -> 正文阅读

[Java知识库]Java之----Random简单验证码的实现

如何实现验证码

要求:

生成一个5位数的验证码

验证码由 4个 (A-Z a-z) 和1个 (0-9)的字符组成

数字固定在最后一位即可- 例如:gAgZ6

步骤:

1,创建了一个长度为52的数组。

? 因为大写字符 + 小写字符一共有52个,所以数组长度为52.

2,把大写的A字符到大写的Z字符,存入到数组当中。

3,把小写的a字符到小写的z字符,存入到数组当中。

4,从数组中获取一个随机的元素。

  • 先获取一个随机的索引
  • 根据随机索引获取元素

5,把第4步重复4次即可。

6,获取一个0-9之间的数字。

代码实现:
public class TestRandom {
    public static void main(String[] args) {
        //生成一个5位数的验证码
        //验证码由 4个 (A-Z a-z) 和1个 (0-9)的字符组成
        //数字固定在最后一位即可- 例如:gAgZ6

        //1.要把A-Z   a-z 添加到一个字符数组当中。
        char [] charArray = new char[52];

        //index表示当前要操作的那个索引
        int index = 0;
        for (int i = 'A'; i <= 'Z'; i++) {
            //i 表示 ‘A’ ~ ‘Z’ 之间的字符所对应的数字
            //System.out.println(i);
            //System.out.println((char) i);
            charArray[index] = (char) i;
            index++;
        }
        //当循环结束之后,就表示数组中已经存了A-Z

        for (int i = 'a'; i <= 'z'; i++) {
            //i 表示 ‘A’ ~ ‘Z’ 之间的字符所对应的数字
            //System.out.println(i);
            //System.out.println((char) i);
            charArray[index] = (char) i;
            index++;
        }

        //遍历
        for (int i = 0; i < charArray.length; i++) {
            System.out.print(charArray[i] + " ");
        }
        System.out.println();


        Random r = new Random();
        //上面的动作重复4次。
        for (int i = 0; i < 4; i++) {
            //从数组中获取一个随机字符
            //获取一个随机索引
            int randomIndex = r.nextInt(charArray.length);
            //根据随机索引获取对应的元素
            char randomChar = charArray[randomIndex];
            System.out.print(randomChar);
        }

        //4.再生成一个0-9之间的随机数。
        int randomNumber = r.nextInt(10);
        System.out.print(randomNumber);
    }
}
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-11-28 11:07:59  更:2021-11-28 11:08:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:46:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码