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

}
相关推荐
wuminyu13 小时前
专家视角看Java的线程是如何run起来的过程
java·linux·c语言·jvm·c++
zhangjw3413 小时前
第3篇:Java流程控制:if-else、switch、循环(for/while/do-while)全解析
java·开发语言
REDcker13 小时前
C++ std::move实现原理与vector扩容移动语义
开发语言·c++·c
qq_120840937113 小时前
Three.js 场景性能优化实战:首屏、帧率与内存的工程化治理
开发语言·javascript·性能优化·three.js
四斤年华13 小时前
关于SpringBoot在MultipartFile上java.nio.file.NoSuchFileException: /tmp/undertow
java·spring boot·nio
木井巳13 小时前
【递归算法】字母大小写全排列
java·算法·leetcode·决策树·深度优先
杰克尼13 小时前
天机学堂项目总结(day3~day4)
java·开发语言·spring
我叫Ycg13 小时前
C++ 中关于插入函数insert() 与 emplace() 的区别与使用建议
开发语言·c++
摇滚侠14 小时前
给我提供一个 sqlyog 下载地址
java
码农的神经元14 小时前
2026 MathorCup 选题建议:A/B/C/D/E 题到底怎么选?
c语言·开发语言·数学建模