Desarrollar un programa en Java que genere números aleatorios y mantenga un registro de los últimos tres números generados, evitando repeticiones.
Objetivo:
El programa genera un número aleatorio entre 1 y 10, asegurándose de que no se repita ninguno de los últimos tres números generados. Luego, se pregunta al usuario si desea generar otro número o finalizar el programa.
Reglas del Programa:
import java.util.Random;
import java.util.Scanner;
public class UltimosValoresIngresados {
public static void main(String[] args) {
Scanner dato = new Scanner(System.in);
Random rand = new Random();
int[] ultimosTres = {0, 0, 0}; // Vector para almacenar los últimos 3 números aleatorios generados
boolean seguirJugando = false;
String seguir;
int numAleatorio;
do {
// Generar un número aleatorio que no sea igual a los últimos 3 generados
do {
numAleatorio = rand.nextInt(10) + 1;
} while (numAleatorio == ultimosTres[0] || numAleatorio == ultimosTres[1] || numAleatorio == ultimosTres[2]);
System.out.println("NUMERO ALEATORIO (1 al 10): " + numAleatorio);
// Actualizar el vector con el nuevo número generado
ultimosTres[0] = ultimosTres[1];
ultimosTres[1] = ultimosTres[2];
ultimosTres[2] = numAleatorio;
System.out.println("Ultimos 3 números:");
for (int x = 0; x < 3; x++) {
System.out.print(ultimosTres[x]);
if (x < 2)
System.out.print(" - ");
}
// Preguntar si el usuario quiere seguir jugando
System.out.print("\n¿Generar otro número? (s/n): ");
seguir = dato.next();
seguirJugando = seguir.equalsIgnoreCase("s");
System.out.println("");
} while (seguirJugando);
dato.close();
}
}
Importación de Clases:
import java.util.Random; importa la clase Random, que se usa para generar números aleatorios.import java.util.Scanner; importa la clase Scanner, que se usa para recibir entradas del usuario.Declaración de Variables:
int[] ultimosTres = {0, 0, 0}; es un vector que almacena los últimos tres números aleatorios generados.boolean seguirJugando = false; es una variable que indica si el usuario quiere seguir jugando.String seguir; almacena la respuesta del usuario sobre si quiere seguir jugando.int numAleatorio; almacena el número aleatorio generado.Bucle Principal:
ultimosTres se actualiza, desplazando los valores para almacenar el nuevo número en la última posición.