Hay varias opciones para crear un generador de números pseudoaleatorios en lenguaje Java. Una de estas opciones es el uso de la clase java.util.Random y el método nextInt() . En este artículo, hablaremos sobre el método Random nextInt() y daremos algunos ejemplos de código de su uso.
Brevemente sobre la clase java.util.Random
La clase java.util.Random , como decíamos, es un generador de números pseudoaleatorios. La clase está representada por dos constructores.-
Random() — crea un generador de números usando una semilla única
-
Aleatorio (semilla larga) : le permite especificar la semilla manualmente
Método aleatorio nextInt()
Hay dos opciones Método java.util.Random.nextInt()-
int nextInt(int n) — devuelve el siguiente valor aleatorio de tipo int en el rango de 0 a n. El método lanza IllegalArgumentException , si n no es positivo.
-
int nextInt() — devuelve el siguiente valor int aleatorio
Ejemplo de código de método aleatorio nextInt()
Probemos ambas variantes del método java.util.Random.nextInt() con ejemplos de código. Aquí hay un ejemplo del método nextInt() sin argumentos:
import java.util.*;
public class RandomTest {
public static void main(String[] args)
{
//creating a Random Object ran
Random ran = new Random();
//generating a number using nextInt() method
int randomNumber = ran.nextInt();
System.out.println("Randomly generated number = " + randomNumber);
}
}
El resultado será... ¡no lo sabemos con certeza! Simplemente pruebe el código y obtendrá un número entero generado aleatoriamente. Probemos Random.nextInt() con un argumento. Sin embargo, esta vez nuestro problema será más interesante. Probablemente haya visto anuncios de casinos en línea más de una vez, literalmente inundaron Internet. Por lo tanto, la secuencia del generador de números en tales juegos generalmente se crea utilizando métodos y clases como Random . Vamos a crear un programa en el que tiremos dos dados con un número del 1 al 6 escrito en cada lado.
import java.util.*;
public class RandomTest2 {
public static void main(String args[])
{
// create Random Object
Random random = new Random();
// Printing the 6 random numbers between 1 and 6 using //random.nextInt()
for (int i = 1; i < 7; i++) {
System.out.println("throwing a dice for the " + i + " time");
System.out.println ("Random number between 1 and 6 is = " + (1 + random.nextInt(6)));
}
}
}
En este programa, el jugador "tira" los dados 6 veces seguidas. Random.nextInt() determina el siguiente número. Este es uno de los resultados:
tirar un dado por 1 vez
El número aleatorio entre 1 y 6 es = 5
tirar un dado por segunda vez
El número aleatorio entre 1 y 6 es = 6
tirar un dado por 3 vez
El número aleatorio entre 1 y 6 es = 6
tirar un dado por cuarta vez
El número aleatorio entre 1 y 6 es = 5
tirar un dado por quinta vez
El número aleatorio entre 1 y 6 es = 2
tirar un dado por sexta vez
El número aleatorio entre 1 y 6 es = 4
De manera similar, puedes implementar un juego de dados para dos jugadores. Y también la lotería, o la ruleta, por ejemplo. Si alguna vez has jugado un juego con generación de mundos procedimentales, ahora tienes una idea inicial de cómo funciona.
GO TO FULL VERSION