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

}
相关推荐
重生之后端学习1 天前
Java入门
java·开发语言·职场和发展
碧海蓝天20221 天前
C++法则24:在标准 C++ 中,没有任何可移植的方式判断指针 T* pt 指向的内存位置是否已经 构造了对象,程序员必须手动跟踪哪些元素已构造。
java·开发语言·c++
代码不加糖1 天前
Proxy能够监听到对象中的对象的引用吗?
开发语言·前端·javascript
charlie1145141911 天前
现代C++指南:Lambda,让我们用另一种方式持有函数
开发语言·c++
один but you1 天前
const和constexpr常量表达式
java·前端·javascript
码云数智-大飞1 天前
RAII 与智能指针深度拆解
java·前端·算法
云烟成雨TD1 天前
Agent Scope Java 2.x 系列【19】Harness:从零搭建 MySQL 文件系统
java·人工智能·agent
qq3621967051 天前
阿里裁员新消息(2026最新动态汇总)
java·开发语言·前端
a1117761 天前
“黑夜流星“个人引导页 网页html
java·前端·html
砚底藏山河1 天前
沪深A股:如何获取基金持股数据
java·python·数据分析·maven