📅  最后修改于: 2023-12-03 15:31:31.854000             🧑  作者: Mango
Java的Math.random()方法可以生成一个范围在[0,1)之间的随机double类型数值。但是,如果需要生成一个范围在指定最小值和最大值之间的随机double类型数值,该怎么办呢?
这就是本文的主题——Java random Double between 的介绍。我们将带你了解如何使用Java生成指定范围内的随机double类型数值。
Java的java.util.Random类中提供了nextDouble()方法可以生成一个范围在[0,1)之间的随机double类型的数值。因此,我们可以先生成随机数,再通过一定的计算方式把其映射到指定范围内。
下面是代码片段示例:
import java.util.Random;
public class Main {
public static void main(String[] args) {
double minimum = 1.0;
double maximum = 10.0;
Random random = new Random();
double randomValue = minimum + (maximum - minimum) * random.nextDouble();
System.out.println(randomValue);
}
}
代码解释:
1.首先用double类型变量minimum和maximum表示目标随机数的最小值和最大值。
2.然后,实例化一个Random对象random。
3.利用random.nextDouble()生成范围在[0,1)之间的随机double类型数值,并将其映射到[minumum,maximum]范围内,得到最终的randomValue。
4.打印最终的随机数randomValue。
如果在Java8及以上版本中,可以使用java.util.concurrent.ThreadLocalRandom类,该类提供了nextInt(), nextDouble()等方法可以方便地生成指定范围内的随机数。
下面是代码片段示例:
import java.util.concurrent.ThreadLocalRandom;
public class Main {
public static void main(String[] args) {
double minimum = 1.0;
double maximum = 10.0;
double randomValue = ThreadLocalRandom.current().nextDouble(minimum, maximum);
System.out.println(randomValue);
}
}
代码解释:
1.首先用double类型变量minimum和maximum表示目标随机数的最小值和最大值。
2.调用ThreadLocalRandom.current().nextDouble(minimum, maximum)方法,生成[minumum,maximum]之间的随机double类型数值,并将其赋值给randomValue。
3.打印最终的随机数randomValue。
本文介绍了在Java中生成指定范围内的随机double类型数值的两种方法:使用Java.util.Random类和Java ThreadLocalRandom类。这两种方法分别使用nextDouble()和nextDouble(minimum,maximum)方法实现,可以根据实际需求选择合适的方法。