关于Java:创建一个随机类的对象或使用Max.Read()来生成随机数

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

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

您可以创建一个随机类的实例

1
Random randomGenerator = new Random();

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

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

您还可以使用math.random()。

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

我认为这两种方法得出的结果完全相同。这两种方法中的一种比另一种更受欢迎吗?


math.random()使用随机类。它基本上是对数学类的随机对象调用nextdouble()。

然而,第一种方法显然更容易理解和使用。比数学课有更多的选择。所以如果你需要很多随机数,或者你需要其他类型,我会选择随机类,然后加倍。当你只需要一个介于0和1之间的双精度数时,我会使用math.random()。

所以基本上,方法的工作方式没有区别,它们都使用随机类。所以你使用的这两个词中的哪一个取决于我上面所说的情况。

从随机方法的数学类javadoc中:

When this method is first called, it creates a single new pseudorandom-number generator, exactly as if by the expression

new java.util.Random()

链接到数学上的JavaDoc页面():http://DOCS.Oracle .COM/JavaSe/ 7 /DOCS/API/Java/Lang/Maunix.html随机化()

希望这有帮助:)