Solución:
No existe un método como java.util.Random.getRandomDigits
.
Para obtener un número aleatorio, use nextInt:
return random.nextInt(10 ** num)
También debes crear el objeto aleatorio una vez cuando se inicia su aplicación:
Random random = new Random()
No debe crear un nuevo objeto aleatorio cada vez que desee un nuevo número aleatorio. Hacer esto destruye la aleatoriedad.
Genere números pseudoaleatorios entre 1 y un [UPPER_LIMIT]
Puede utilizar lo siguiente para generar un número entre 1 y un límite superior.
Math.abs(new Random().nextInt() % [UPPER_LIMIT]) + 1
Aquí hay un ejemplo específico:
Ejemplo: generar números pseudoaleatorios en el rango de 1 a 600:
Math.abs(new Random().nextInt() % 600) + 1
Esto generará un número aleatorio dentro de un rango para usted. En este caso 1-600. Puede cambiar el valor 600 a cualquier valor que necesite en el rango de números enteros.
Genere números pseudoaleatorios entre un [LOWER_LIMIT] y un [UPPER_LIMIT]
Si desea utilizar un límite inferior que no sea igual a 1, puede utilizar la siguiente fórmula.
Math.abs(new Random().nextInt() % ([UPPER_LIMIT] - [LOWER_LIMIT])) + [LOWER_LIMIT]
A continuación, se muestra un ejemplo específico:
Ejemplo: generar números pseudoaleatorios en el rango de 40 a 99:
Math.abs( new Random().nextInt() % (99 - 40) ) + 40
Esto generará un número aleatorio dentro de un rango de 40 y 99.
Generalmente, encuentro RandomUtils (de Apache commons lang) una forma más fácil de generar números aleatorios que java.util.Random