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

}
相关推荐
⑩-7 分钟前
浅学Java-设计模式
java·开发语言·设计模式
攻心的子乐8 分钟前
软考 关于23种设计模式
java·开发语言·设计模式
oak隔壁找我9 分钟前
SpringBoot Starter 进阶教程
java·后端·架构
zhougl99619 分钟前
NoSQL 数据库和内存数据库 - MongoDB简单了解
java·前端·javascript
自在极意功。22 分钟前
Java List全面解析:从入门到精通
java·windows·list接口·list的实现类
qq_4798754324 分钟前
C++ ODR
java·开发语言·c++
一叶之秋141231 分钟前
Qt开发初识
开发语言·qt
盼哥PyAI实验室39 分钟前
正则表达式:文本处理的强大工具
java·服务器·正则表达式
老华带你飞40 分钟前
订票系统|车票管理系统|基于Java+vue的车票管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·订票系统
陈果然DeepVersion44 分钟前
Java大厂面试真题:Spring Boot+Kafka+AI智能客服场景全流程解析(十一)
java·spring boot·微服务·ai·kafka·面试题·rag