Подтвердить что ты не робот

Укажите max и min для Random.nextInt()?

Возможный дубликат:
Java: генерирование случайного числа в диапазоне

Я хочу создать случайный int в логическом диапазоне. Итак, скажем, например, я пишу программу для "броска" кости с указанным количеством сторон.

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

Теперь проблема заключается в том, что это приведет к возврату значений между сторонами и нулевым включением, что не имеет смысла, потому что большинство костей идут от 1 до 6, 9 и т.д. Итак, как я могу указать, что nextInt должен работать между 1 и числом сторон?

4b9b3361

Ответ 1

Чтобы создать случайное значение int (равномерное распределение) между от и до (включительно), используйте:

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

В вашем случае (1.sides):

1 + rndGenerator.nextInt(sides)