关于Java:指定max和min为Random.nextInt()?

Specify max and min for Random.nextInt()?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Java: generating random number in a range

我想在逻辑范围内生成一个随机整数。比如说,我正在写一个程序,用指定的边数"掷"一个骰子。

1
2
3
4
public int rollDice() {
     Random generator = new Random();
     return generator.nextInt(sides);
}

现在的问题是,这将返回边和零之间的值(包括0),这是没有意义的,因为大多数骰子从1到6、9等。那么,我如何指定nextint应该在1和边的数量之间工作?


要在从到(包括从到)之间生成随机int值(均匀分布),请使用:

1
from + rndGenerator.nextInt(to - from + 1)

在您的情况下(1.侧面):

1
1 + rndGenerator.nextInt(sides)