我有两个如下的双打
double min = 100; double max = 101;
使用随机生成器,我需要在min和max范围之间创建一个双精度值。
Random r = new Random(); r.nextDouble();
但是这里没有什么可以指定范围的。
在Java 7发行之前曾问过这个问题,但是现在,还有另一种使用Java 7(及更高版本)API的可能方式:
double random = ThreadLocalRandom.current().nextDouble(min, max);
nextDouble将返回介于最小值(包含)和最大值(不含)之间的伪随机双精度值。范围不一定是int,可以是double。
nextDouble
int
double
要在rangeMin和之间生成一个随机值rangeMax:
rangeMin
rangeMax
Random r = new Random(); double randomValue = rangeMin + (rangeMax - rangeMin) * r.nextDouble();