Как я могу использовать случайные числа в 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 и работает нормально без ошибок
Ответы
Ответ 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