产生任意范围随机数

Random random = new Random();
int s = random.nextInt(max)%(max-min+1) + min;
### Java 中生成指定范围随机数的方法 在 Java 编程语言中,存在多种方式来生成指定范围内的随机数。其中一种常用的方式是利用 `Random` 类中的 `nextInt(int bound)` 方法[^1]。 #### 使用 Random 类生成指定范围随机数 当创建了一个 `Random` 实例之后,可以调用它的 `nextInt(bound)` 函数来获得一个介于 0(含)到参数值(不含)之间的伪随机整数值。为了得到特定区间 `[min, max]` 的随机数,可以通过下面这种方式实现: ```java import java.util.Random; public class RangeRandom { public static int getRandomNumberInRange(int min, int max) { if (min >= max) { throw new IllegalArgumentException("Max must be greater than min"); } Random r = new Random(); return r.nextInt((max - min) + 1) + min; } public static void main(String[] args) { System.out.println(getRandomNumberInRange(1, 100)); // 输出1至100间的随机数 } } ``` 这段代码定义了一个名为 `getRandomNumberInRange` 的函数,它接受两个参数——最小值和最大值,并返回这两个端点所限定区间的任意一个整数作为结果。这里 `(max-min)+1` 表达式的目的是确保产生随机数能够覆盖整个给定的闭合区间[^2]。 另外,在某些情况下也可以考虑使用其他两种方法:通过 `Math.random()` 或者基于当前时间戳 `System.currentTimeMillis()` 来构建简单的解决方案;不过这些替代方案通常不如直接使用 `Random` 类那样直观易懂且性能更优[^3]。 对于为何可以在 `[0,r-l]` 范围内生产随机数再加回左偏移量 `l` 即可满足需求的原因在于,这样做实际上就是把原问题转化成了求解相对位置上的随机分布问题,而后再映射回去即可达到目的[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值