我想在逻辑范围内生成一个随机整数。因此,举例来说,我正在编写一个程序来“掷掷”具有指定边数的骰子。
public int rollDice(){ 随机生成器= new Random(); 返回generator.nextInt(sides); }
现在的问题是,它将返回边与零之间的值, 包括 0和0,这是没有意义的,因为大多数骰子从1到6、9等。因此,我如何指定nextInt应该在1和边数之间起作用?
要在 from 和 to (包括)之间生成一个随机的int值(均匀分布),请使用:
from + rndGenerator.nextInt(to - from + 1)
以您的情况(1 ..面):
1 + rndGenerator.nextInt(sides)