当前位置: 首页 > news >正文

随机产生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并返回 

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

运行结果如下:

相关文章:

  • 设计模式之享元模式
  • 图解AUTOSAR_SWS_FlexRayDriver
  • 使用分布式锁和乐观锁解决超卖问题
  • 闪蒸高密度聚乙烯无纺布市场报告:探索高性能材料的新机遇
  • 搜广推面经六十八
  • yum拒绝连接
  • 【区块链+ 人才服务】蓝鲸智课——区块链课程与实训平台 | FISCO BCOS 应用案例
  • GS069W电动工具直流调速电路:高效调速方案解析
  • 【多线程-第四天-自己模拟SDWebImage的下载图片功能-取消操作 Objective-C语言】
  • Quartz 分布式集群 数据持久化任务调度系统
  • 【VScode】C/C++使用教程
  • C++11实现一个自旋锁
  • Flutter:Flutter SDK版本控制,fvm安装使用
  • 寄存器相关及清零、置1、取反等位移操作
  • 进程的创建态、运行状态和阻塞状态
  • FreeRTOS与RT-Thread深度对比:从入门到精通的全面解析
  • Redlinux(2025.3.29)
  • 地图与图层操作
  • 18-产品经理-跟踪进度
  • DeepSeek-R1-Distil-Qwen-7B:为何说它是Qwen模型的“瘦身版”?
  • 网站建设seo视频/网络推广优化服务
  • 网站不备案可以做百度竞价吗/网络营销推广与策划
  • 做影视网站如何通过备案/搜狐酒业峰会
  • css 网站模板/免费观看b站的广告网站平台
  • 做专题页的背景网站/合肥网站关键词排名
  • 企业建设网站的目的是/正在播网球比赛直播