📜  java random Double between - Java (1)

📅  最后修改于: 2023-12-03 15:31:31.854000             🧑  作者: Mango

介绍:Java random Double between

Java的Math.random()方法可以生成一个范围在[0,1)之间的随机double类型数值。但是,如果需要生成一个范围在指定最小值和最大值之间的随机double类型数值,该怎么办呢?

这就是本文的主题——Java random Double between 的介绍。我们将带你了解如何使用Java生成指定范围内的随机double类型数值。

方法一:使用Java.util.Random类

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。

方法二:使用Java ThreadLocalRandom类

如果在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)方法实现,可以根据实际需求选择合适的方法。