繁体   English   中英

创建 Random 类的对象或使用 Math.random() 以生成随机数

[英]Creating an object of Random class or using Math.random() in order to generate random numbers

导入 java.util.Random 后,您可以通过两种方式生成随机整数和随机双精度数。

您可以创建 Random 类的实例

Random randomGenerator = new Random();

然后用它生成一个大于或等于0但小于10的随机整数或双精度数

int randomInteger = randomGenerator.nextInt(10);
double randomDouble = randomGenerator.nextDouble(10);

你也可以使用 Math.random()

int randomInteger = (int)(Math.random() * 10)
double randomDouble = Math.random() * 10

我认为这两种方法都给出了完全相同的结果。 这两种方法中的一种是否比另一种更受欢迎?

Math.random() 使用 Random 类。 它基本上是在 Math 类的 Random 对象上调用 nextDouble() 。

然而,第一种方法肯定更容易理解和使用。 并且有比 Math 类更多的选择。 因此,如果您需要大量随机数或者需要双精度以外的类型,我会选择 Random 类。 当您只需要 0 和 1 之间的双精度值时,我会使用 Math.random()。

所以基本上方法的工作方式没有区别,它们都使用 Random 类。 因此,您使用的两者中的哪一个取决于我上面所说的情况。

从关于随机方法的 Math 类的 javadoc :

当这个方法第一次被调用时,它会创建一个新的伪随机数生成器,就像表达式一样

新的 java.util.Random()

链接到 Math.random() 上的 javadoc 页面: https : //docs.oracle.com/javase/7/docs/api/java/lang/Math.html#random()

我希望这有帮助 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM