Google 的 Guava 库提供了一个很棒的类 Range
,它有很多有用的方法,比如 greaterThan(x)
,open(x,y)
等。我想知道是否有任何方法可以应用这种方法来生成一个Range
内的随机数?
最佳答案
我不建议为这个基本应用程序使用范围。
最容易使用的方法是已经实现的 Random 类。
下面是如何使用这个类:
获取任意值的随机整数:
Random r = new Random();
r.nextInt();
获取最小 x,最大 y 范围内的随机整数:
Random r = new Random();
r.nextInt(y - x) + x;
这是获取范围内随机数的最基本方法。 我敢打赌范围类中有一个 getMin 和 getMax 方法,因此请将其用于 x 和 y。
此外,如果您想要一个大于 x 的最小值的随机数,只需执行以下操作:
Random r = new Random();
Math.abs(r.nextInt().nextInt()) + x;
^以上代码生成任意正整数,x保证最小值。
-或-
nextInt(Integer.MAX_VALUE - (x + 1)) + (x + 1)
-正如 ColinD 所建议的 希望这可以帮助。 -经典
关于java - Guava - 如何使用 Range 生成随机数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24535073/