Random en Java - Programación Estructurada

¿Qué es la Clase Random?

La clase Random en Java se utiliza para generar números aleatorios. Esta clase proporciona varios métodos para generar diferentes tipos de números aleatorios, incluyendo enteros, números de punto flotante, y booleanos.

Creación y Uso de la Clase Random

Para utilizar la clase Random, debes crear una instancia de la misma. Luego, puedes utilizar los métodos proporcionados por la clase para generar valores aleatorios.

// Ejemplo básico de uso de la clase Random
import java.util.Random;

public class EjemploRandom {
    public static void main(String[] args) {
        Random rand = new Random();

        int randomInt = rand.nextInt(); // Genera un número entero aleatorio
        System.out.println("Número entero aleatorio: " + randomInt);

        double randomDouble = rand.nextDouble(); // Genera un número double aleatorio entre 0.0 y 1.0
        System.out.println("Número double aleatorio: " + randomDouble);

        boolean randomBoolean = rand.nextBoolean(); // Genera un valor booleano aleatorio
        System.out.println("Valor booleano aleatorio: " + randomBoolean);
    }
}
        

Ejemplo: Generar un Número Entero Aleatorio menor a 100

Este ejemplo muestra cómo generar un número entero aleatorio menor a 100:


// Importar la clase Random
import java.util.Random;

public class EjemploRandom {
    public static void main(String[] args) {
        Random random = new Random();
        int numeroAleatorio = random.nextInt(100);  // Genera un número entre 0 y 99
        System.out.println("Número aleatorio: " + numeroAleatorio);
    }
}
		
		
        

El método nextInt(100) genera un número entero aleatorio entre 0 (inclusive) y 100 (exclusivo).

Generar Números Aleatorios en un Rango Específico

Para generar números enteros aleatorios dentro de un rango específico, se puede utilizar el método nextInt(int bound) de la clase Random, donde bound especifica el límite superior (exclusivo).

// Ejemplo de generación de números aleatorios en un rango específico
import java.util.Random;

public class EjemploRangoRandom {
    public static void main(String[] args) {
        Random rand = new Random();
        
        int min = 5;
        int max = 15;
        int randomNum = rand.nextInt((max - min) + 1) + min;

        System.out.println("Número aleatorio entre " + min + " y " + max + ": " + randomNum);
    }
}
        

Pregunta de múltiple opción

1. ¿Qué método de la clase Random se utiliza para generar un número entero aleatorio?

a) nextDouble()
b) nextInt()
c) nextBoolean()

2. ¿Qué rango de valores genera el método nextDouble()?

a) Entre 0.0 y 1.0
b) Entre 0 y 10
c) Entre -1.0 y 1.0

3. ¿Cuál es el rango de valores que genera random.nextInt(10)?

a) 1 a 10
b) 0 a 10
c) 0 a 9
d) Ninguno de los anteriores

4. ¿Qué método se utiliza para generar un número decimal aleatorio en la clase Random?

a) nextFloat()
b) nextDouble()
c) nextInt()
d) Ninguno de los anteriores

5. ¿Qué valor genera random.nextBoolean()?

a) Un número aleatorio
b) Un valor true o false
c) Muestra una exceptción
d) Ninguno de los anteriores

Ejercicios Prácticos

  1. Escribe un programa que genere y muestre un número aleatorio entre 1 y 50.
  2. Modifica el programa anterior para que genere y muestre un número aleatorio entre -50 y 50.
  3. Crea un programa que simule el lanzamiento de un dado utilizando random.nextInt(6) + 1.
  4. Escribe un programa que genere 10 valores booleanos aleatorios y los muestre en pantalla.

Ver soluciones