随机产生4位随机码(java)

  • Random类:

    • 用于生成随机数

    • import java.util.Random; 导入必要的类

  • generateVerificationCode()方法:

    • 这是一个静态方法,可以直接通过类名调用

    • 返回一个6位数字的字符串,首位不为0

  • 生成首位数字:

    • random.nextInt(9) + 1:

      • nextInt(9) 生成0-8的随机数

      • 使用StringBuilder构建验证码字符串,先添加首位数字

    • 确保验证码的第一位数字不会是0

  • 生成剩余5位数字:

    • 循环5次,生成验证码的剩余5位

    • 每次从allChars中随机选择一个字符(可以是数字或字母)

    • random.nextInt(allChars.length())生成一个随机索引

    • 将选中的字符添加到StringBuilder中

  • 返回结果:

    • sb.toString() 将StringBuilder转换为String并返回
java 复制代码
import java.util.Random;

public class Main {
    public static void main(String[] args) {
        System.out.println(generateVerificationCode());
    }

    /**
     * 生成6位随机验证码(数字+字母),首位不为0且为数字
     * @return 随机验证码字符串
     */
    public static String generateVerificationCode() {
        Random random = new Random();
        // 定义可用字符集
        String numbers = "0123456789";
        String letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
        String allChars = numbers + letters;

        // 首位必须是数字且不为0
        int firstDigit = random.nextInt(9) + 1; // 1-9
        StringBuilder sb = new StringBuilder().append(firstDigit);

        // 生成剩余5位,可以是数字或字母
        for (int i = 0; i < 5; i++) {
            char c = allChars.charAt(random.nextInt(allChars.length()));
            sb.append(c);
        }

        return sb.toString();
    }
}

运行结果如下:

相关推荐
艾伦_耶格宇35 分钟前
【kubernetes - 1.28版本】-11 K8S核心组件
java·容器·kubernetes
2301_780789661 小时前
深度伪造即服务:新型网络诈骗的“完美面具”与识别之道
java·网络·ddos
LHICOD1 小时前
Linux-2
java·linux·后端·jar·vmware·svm·vm
香蕉大香蕉(06敬畏市场)1 小时前
MySQL 单点详解(03)
java·数据库·mysql·面试·八股·大厂实习
呆呆敲代码的小Y1 小时前
【实战精选面试题】C# 面试题详细解答,按难易程度排序
android·java·游戏·c#·游戏开发·unity面试题·c#面试题
水无痕simon2 小时前
3、工程重构
java·spring cloud·重构
阿里云基础软件2 小时前
Agent 任务提速 10.71%,内存占用降低 21.60%|Alibaba Cloud Linux 4 重大发布
java·linux·人工智能·操作系统·agent
Wang's Blog3 小时前
Java 项目实战: 交友项目 - 项目:需求分析与滑动数据设计
java·开发语言·交友
前端 贾公子3 小时前
第 5 章:Codex 从可运行程序到可交付工具
java·前端·数据库
CoderYanger3 小时前
Java EE 进阶:5. Spring IoC&DI(第三弹):Spring DI
java·开发语言·spring boot·spring·面试·java-ee·mvc