在一个范围内生成一个随机的双精度值
我有两个双打,如下所示
double min = 100;
double max = 101;
使用随机生成器,我需要在最小值和最大值之间创建一个双精度值。
Random r = new Random();
r.nextDouble();
但是这里没有我们可以指定范围的内容。
我有两个双打,如下所示
double min = 100;
double max = 101;
使用随机生成器,我需要在最小值和最大值之间创建一个双精度值。
Random r = new Random();
r.nextDouble();
但是这里没有我们可以指定范围的内容。
要在 和 之间生成随机值,rangeMin
rangeMax
Random r = new Random();
double randomValue = rangeMin + (rangeMax - rangeMin) * r.nextDouble();
这个问题在Java 7发布之前就被问到了,但现在,使用Java 7(及以上)API还有另一种可能的方法:
double random = ThreadLocalRandom.current().nextDouble(min, max);
nextDouble
将返回最小值(包括最大值)和最大值(独占值)之间的伪随机双精度值。边界不一定是 ,并且可以是 。int
double