La generación de números aleatorios en sí misma tiene un buen valor de utilidad y lograrlos mediante el uso de funciones puede resultar muy útil. Java en su lenguaje ha dedicado toda una biblioteca a los números aleatorios viendo su importancia en la programación día a día. nextInt() se analiza en este artículo.
- java.util.Random.nextInt() : nextInt () se usa para obtener el siguiente valor entero aleatorio de la secuencia de este generador de números aleatorios.
Declaration : public int nextInt() Parameters : NA Return Value : The method call returns the next integer number from the sequence Exception : NA
El siguiente ejemplo muestra el uso de java.util.Random.nextInt()
// Java code to demonstrate the working
// of nextInt()
import
java.util.*;
public
class
NextInt1 {
public
static
void
main(String[] args)
{
// create random object
Random ran =
new
Random();
// generating integer
int
nxt = ran.nextInt();
// Printing the random Number
System.out.println
(
"The Randomly generated integer is : "
+ nxt);
}
}
Producción:
The Randomly generated integer is : -2052834321
- java.util.Random.nextInt(int n) : nextInt(int n) se usa para obtener un número aleatorio entre 0 (inclusive) y el número pasado en este argumento (n), exclusivo.
Declaration : public int nextInt(int n) Parameters : n : This is the bound on the random number to be returned. Must be positive. Return Value : Returns a random number. between 0 (inclusive) and n (exclusive). Exception : IllegalArgumentException : This is thrown if n is not positive.
El siguiente ejemplo muestra el uso de java.util.Random.nextInt(int n)
// Java code to demonstrate the working
// of nextInt(n)
import
java.util.*;
public
class
NextInt2 {
public
static
void
main(String args[])
{
// create random object
Random ran =
new
Random();
// Print next int value
// Returns number between 0-9
int
nxt = ran.nextInt(
10
);
// Printing the random number
// between 0 and 9
System.out.println
(
"Random number between 0 and 10 is : "
+ nxt);
}
}
Producción:
Random number between 0 and 9 is : 4
IllegalArgumentException: esto ocurre cuando el argumento pasado no es positivo.
Un ejemplo para ilustrar la Excepción generada cuando n no es un número positivo:
// Java code to demonstrate the Exception // of nextInt(n) import java.util.*; public class NextInt2 { public static void main(String[] args) { // create random object Random ran = new Random(); // generating number between 0 and -12345 // Raises Runtime error, as n is negative. int nxt = ran.nextInt(-12345); System.out.println ("Generated Random number is : " + nxt); } }
Errores de tiempo de ejecución:
Exception in thread "main" java.lang.IllegalArgumentException: bound must be positive at java.util.Random.nextInt(Random.java:388) at NextInt2.main(NextInt2.java:14)
Aplicaciones prácticas
La generación de números aleatorios tiene numerosas aplicaciones, ya sea en loterías, apuestas o juegos a pequeña escala . A continuación se muestra un pequeño juego de dados en el que 2 jugadores lanzan un dado de 6 puntos, y gana la persona que obtiene 30 puntos.
// Java code to demonstrate the Application // of nextInt(n) import java.util.*; public class NextIntAppli { public static void main(String[] args) { int sum = 0, sum1 = 0, count = 0, count1 = 0; int turn = 0; // creating random object Random ran = new Random(); int flag = 0; while (true) { if (turn % 2 == 0) { int p1 = ran.nextInt(6); sum += p1; System.out.printf ("Player 1 after turn %d is : %d\n", turn, sum); } else { int p2 = ran.nextInt(6); sum1 += p2; System.out.printf ("Player 2 after turn %d is : %d\n", turn, sum1); } if (sum >= 30) { flag = 1; break; } if (sum1 >= 30) { flag = 2; break; } turn++; } if (flag == 1) System.out.println("\nPlayer 1 WON!!"); else System.out.println("\nPlayer 2 WON!!"); } }
Producción:
Player 1 after turn 0 is : 0 Player 2 after turn 1 is : 4 Player 1 after turn 2 is : 2 Player 2 after turn 3 is : 9 Player 1 after turn 4 is : 5 Player 2 after turn 5 is : 9 Player 1 after turn 6 is : 6 Player 2 after turn 7 is : 14 Player 1 after turn 8 is : 8 Player 2 after turn 9 is : 18 Player 1 after turn 10 is : 12 Player 2 after turn 11 is : 21 Player 1 after turn 12 is : 13 Player 2 after turn 13 is : 26 Player 1 after turn 14 is : 18 Player 2 after turn 15 is : 29 Player 1 after turn 16 is : 18 Player 2 after turn 17 is : 34 Player 2 WON!!
Este artículo es una contribución de Suman Singh Rajput . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.