Java.util.Random.nextInt() en Java

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.

  1. 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
    
  2. 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
    
Excepción

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.

Publicación traducida automáticamente

Artículo escrito por suman_709 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *