导入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
我认为两种方法都给出了完全相同的结果。 这两种方法中有一种比其他方法更受欢迎吗?
答案 0 :(得分:1)
Math.random()使用Random类。它基本上是在Math类的Random对象上调用nextDouble()。
然而,第一种方法肯定更容易理解和使用。并且Math类有更多选项。因此,如果您需要大量的随机数,或者如果您需要其他类型,那么我将使用Random类。当你只需要0到1之间的双倍时,我会使用Math.random()。
所以基本上方法的工作方式没有区别,它们都使用Random类。所以你使用的两个取决于我上面所说的情况。
从随机方法的Math类的javadoc:
首次调用此方法时,它会创建一个新的伪随机数生成器,就像表达式
一样new java.util.Random()
链接到Math.random()上的javadoc页面:https://docs.oracle.com/javase/7/docs/api/java/lang/Math.html#random()
我希望这会有所帮助:)