You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现循环生成每次比前一次多一位位数的随机数?

实现方案

你原来的3位随机数生成逻辑可以抽象为通用的n位随机数生成方法,再通过循环控制位数递增即可实现需求,以下是Dart的可运行实现:

import 'dart:math';

// 通用n位随机数生成方法
String generateNumber(int digitCount) {
  Random random = Random();
  // 动态计算当前位数的最小值和取值区间长度
  int min = pow(10, digitCount - 1) as int;
  int range = 9 * min;
  int randomNumber = random.nextInt(range) + min;
  return randomNumber.toString();
}

void main() {
  // 可自定义初始位数和总生成次数
  int startDigit = 3;
  int totalGenerateCount = 4;

  for (int i = 0; i < totalGenerateCount; i++) {
    int currentDigit = startDigit + i;
    String result = generateNumber(currentDigit);
    print(result);
    // 如果需要赋值给全局number变量,可添加:number = result;
  }
}

逻辑说明

  • 原固定3位生成的nextInt(900) + 100逻辑被抽象后,可适配任意位数的正整数生成,完全兼容你原来的业务逻辑
  • 循环时从初始位数逐次加1,即可实现每次生成的随机数位数比上一次多一位的效果
  • 你可以自行修改startDigit和totalGenerateCount参数调整初始位数和总生成量,比如要生成从2位到7位的序列,把startDigit设为2、totalGenerateCount设为6即可

内容的提问来源于stack exchange,提问作者helloitsme3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 03:57:07