java写一个验证码

生成验证码

内容:可以是小写字母,也可以是大写字母,还可以是数字

规则

长度为5

内容中是四位字母,1位数字。

其中数字只有1位,但是可以出现在任意的位置。

java 复制代码
package User;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class Test {
    public static void main(String[] args) {

        System.out.println(getcode());

    }

    private static String getcode() {
        //1.创建集合
        ArrayList<Character> list=new ArrayList<>();
        //将大小写字母放在集合list当中
        for (int i = 0; i < 26; i++) {
            list.add((char) ('a' + i));
            list.add((char) ('A' + i));
        }
       //获取4个随机验证码
        StringBuffer sb=new StringBuffer();
        Random r=new Random();
        for (int i = 0; i < 4; i++) {
            int index = r.nextInt(list.size());
            sb.append(list.get(index));

        }
        //System.out.println(sb);
        //获取一个数字
        int number = r.nextInt(10);
        sb.append(number);
        //打乱数字排序的地方
       char []arr= sb.toString().toCharArray();
        for (int i = 0; i < arr.length; i++) {
            int index = r.nextInt(arr.length);
            char tmp=arr[index];
            arr[index]=arr[i];
            arr[i]=tmp;
        }
        return new String(arr);
    }

}
相关推荐
俄城杜小帅几秒前
C++线程异步和wpf中比较
java·c++·wpf
umeelove351 分钟前
Springboot的jak安装与配置教程
java·spring boot·后端
The_Ticker1 分钟前
日股实时行情接口使用指南
java·经验分享·笔记·python·算法·区块链
啥咕啦呛1 分钟前
java打卡学习2:Stream高级与Optional
java·windows·学习
试试勇气3 分钟前
Linux学习笔记(十九)--生产消费模型与线程安全
java·笔记·学习
凌波粒3 分钟前
LeetCode--24.两两交换链表中的节点(链表)
java·算法·leetcode·链表
wjs20246 分钟前
jEasyUI 格式化下拉框
开发语言
pupudawang7 分钟前
Spring Boot 各种事务操作实战(自动回滚、手动回滚、部分回滚)
java·数据库·spring boot
2401_877274247 分钟前
C语言实现多态相关话题
c语言·开发语言
C++chaofan9 分钟前
RPC框架SPI机制深度解析
java·网络·后端·网络协议·rpc·spi·序列化器