为Random.nextInt()指定max和min?
可能重复:
Java:在范围内生成随机数
我想在逻辑范围内生成一个随机的int。 所以,比如说,我正在编写一个程序来“掷骰”一个指定数量的棋子。
public int rollDice() { Random generator = 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)
链接地址: http://www.djcxy.com/p/17661.html