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

如何在Java中生成100到2000间步长为100的随机整数?

解决100-2000步长100的随机整数生成问题

首先你原代码有个明显错误:random.nextInt(start - end)里的参数是负数,nextInt要求传入非负整数,这会直接抛出IllegalArgumentException,得先把这个问题改了。

要实现步长100的需求,核心思路是把范围转换成步长为1的整数区间,生成随机数后再放大100倍:

  1. 先计算这个区间内的数字总数:(2000 - 100)/100 + 1 = 20个(对应100、200...2000)
  2. 生成0到19之间的随机整数(共20个值)
  3. 把这个随机数乘以100,再加上起始值100,就得到符合要求的结果

修正后的代码如下:

Random random = new Random();
int start = 100;
int end = 2000;
int step = 100;
// 计算区间内的元素个数
int count = (end - start) / step + 1;
// 生成0到count-1的随机数,再转换为目标值
int result = random.nextInt(count) * step + start;

这样生成的结果就只会是100、200、...、2000这些步长为100的整数,完全符合你的需求。

另外也可以换个更简洁的写法,直接生成1到20的随机数再乘以100,效果完全一致:

Random random = new Random();
int result = (random.nextInt(20) + 1) * 100;

只是第一种写法在后续调整起始值、步长或结束值时,扩展性更好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 08:10:28