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

}
相关推荐
码云数智-大飞3 分钟前
解锁数据库极速引擎:索引底层机制、聚簇与非聚簇之争及性能避坑指南
开发语言
花间相见5 分钟前
【JAVA基础03】—— JDK、JRE、JVM详解及原理
java·开发语言·jvm
FirstFrost --sy6 分钟前
仿mudou库one thread one loop式并发服务器实现
运维·服务器·开发语言·c++
勿芮介7 分钟前
【大模型应用】在window/linux上卸载OpenClaw
java·服务器·前端
kuntli9 分钟前
Java内部类四种类型解析
java
xyq202426 分钟前
Python 日期和时间处理指南
开发语言
闻哥28 分钟前
深入剖析Redis数据类型与底层数据结构
java·jvm·数据结构·spring boot·redis·面试·wpf
xyq202429 分钟前
Bootstrap4 折叠组件详解
开发语言
虾..31 分钟前
Linux 基于TCP实现服务端客户端通信(多进程/多线程版)
java·服务器·tcp/ip
星辰_mya34 分钟前
CompletableFuture:异步编程的“智能机械臂”
java·开发语言·面试