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

Как я могу использовать случайные числа в groovy?

Я использую этот метод:

def getRandomNumber(int num){
    Random random = new Random()
    return random.getRandomDigits(num)
}

когда я его называю, пишу println getRandomNumber(4)

но у меня есть ошибка

No signature of method: java.util.Random.getRandomDigits() is applicable for argument types: (java.lang.Integer) values: [4]

Примечание. Я использую этот метод в другом классе groovy и работает нормально без ошибок

4b9b3361

Ответ 1

Нет такого метода, как java.util.Random.getRandomDigits.

Чтобы получить случайное число, используйте nextInt:

return random.nextInt(10 ** num)

Также вы должны создать случайный объект один раз при запуске приложения:

Random random = new Random()

Вам не следует создавать новый случайный объект каждый раз, когда вы хотите получить новое случайное число. Это уничтожает случайность.

Ответ 2

Как правило, я нахожу RandomUtils (из Apache commons lang) более простой способ генерации случайных чисел, чем java.util.Random

Ответ 3

Я использую следующее:

Math.abs(new Random().nextInt() % 600) + 1

Это создаст случайное число в пределах диапазона для вас. В этом случае 1-600. Вы можете изменить значение 600 на все, что вам нужно, в диапазоне целых чисел.

Ответ 4

Например, скажем, что вы хотите создать случайное число от 50 до 60, вы можете использовать один из следующих способов.

new Random().nextInt()%6 +55

new Random(). nextInt()% 6 возвращает значение между -5 и 5. и когда вы добавляете его на 55, вы можете получить значения между 50 и 60

Второй метод:

Math.abs(new Random().nextInt()%11) +50

Math.abs(new Random(). nextInt()% 11) создает значение от 0 до 10. Позже вы можете добавить 50, который в результате даст вам значение от 50 до 60