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);
    }

}
相关推荐
一行代码一行诗++16 小时前
goto语句
java·开发语言·算法
froginwe1116 小时前
JSP 日期处理
开发语言
m0_6393107916 小时前
大数据技术原理-HDFS的安装与应用
java·大数据·jvm·hadoop·spring·hdfs·eclipse
Plastic garden17 小时前
Redis(2) redis的高可用
java·数据库·redis
XiYang-DING17 小时前
【Spring】SpringIoC&DI
java·spring·log4j
xixingzhe217 小时前
spring构造函数注入对比@Resource
java·后端·spring
宋哥转AI17 小时前
Java搭RAG实战(三):检索问答全链路,从架构分层到SSE流式
java·agent
测试员周周17 小时前
【Appium 系列】第17节-XMind用例转换 — 从思维导图到 YAML
java·服务器·人工智能·单元测试·appium·测试用例·xmind
我材不敲代码17 小时前
Python 基础:列表的切片与嵌套列表使用技巧
开发语言·python
NiceCloud喜云17 小时前
Claude API PDF 文档问答实战:从原生解析到分页引用的完整方案
java·服务器·前端·网络·数据库·人工智能·pdf