为Random.nextInt()指定max和min?
可能重复:
Java:在一个范围内生成随机数
我想在逻辑范围内生成一个随机int。 所以,比如说,我正在编写一个程序来“滚动”具有指定数量边的骰子。
public int rollDice(){ 随机生成器= new Random(); return generator.nextInt(sides); }
现在问题变成了这将返回边和零之间的值, 包括在内 ,这没有任何意义,因为大多数骰子从1到6,9等等。那么如何指定nextInt应该在1和边数之间工作?
要在from和to (包含)之间生成随机int值(均匀分布),请使用:
from + rndGenerator.nextInt(to - from + 1)
在你的情况下(1..sides):
1 + rndGenerator.nextInt(sides)