为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

上一篇: Specify max and min for Random.nextInt()?

下一篇: Get random integer in range (x, y]?