一尘不染

为Random.nextInt()指定最大值和最小值?

java

我想在逻辑范围内生成一个随机整数。因此,举例来说,我正在编写一个程序来“掷掷”具有指定边数的骰子。

public int rollDice(){
     随机生成器= new Random();
     返回generator.nextInt(sides);
}

现在的问题是,它将返回边与零之间的值, 包括
0和0,这是没有意义的,因为大多数骰子从1到6、9等。因此,我如何指定nextInt应该在1和边数之间起作用?


阅读 754

收藏
2020-12-03

共1个答案

一尘不染

要在 fromto (包括)之间生成一个随机的int值(均匀分布),请使用:

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

以您的情况(1 ..面):

1 + rndGenerator.nextInt(sides)
2020-12-03