随机产生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();
    }
}

运行结果如下:

相关推荐
考虑考虑20 小时前
Jpa使用union all
java·spring boot·后端
用户37215742613520 小时前
Java 实现 Excel 与 TXT 文本高效互转
java
浮游本尊21 小时前
Java学习第22天 - 云原生与容器化
java
渣哥1 天前
原来 Java 里线程安全集合有这么多种
java
间彧1 天前
Spring Boot集成Spring Security完整指南
java
间彧1 天前
Spring Secutiy基本原理及工作流程
java
Java水解1 天前
JAVA经典面试题附答案(持续更新版)
java·后端·面试
洛小豆1 天前
在Java中,Integer.parseInt和Integer.valueOf有什么区别
java·后端·面试
前端小张同学1 天前
服务器上如何搭建jenkins 服务CI/CD😎😎
java·后端
ytadpole1 天前
Spring Cloud Gateway:一次不规范 URL 引发的路由转发404问题排查
java·后端