es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Generador de números en tiempo.

Necesito un programa en java que genere números aleatorios en tiempo real. El rango de números aleatorios es de 1 a 100. Si hay una secuencia de números 1, 50 y 95, el programa se detendrá y en la salida debe estar escrito el recuento de todos los números generados aleatoriamente, la hora de inicio y finalización de la generación de números.

Necesito este programa para mi tarea escolar y no soy muy bueno en esto 🙁 Si alguien puede ayudarme, sería genial.

Gracias y que tengan un buen día 🙂

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Programa Java para Generador de Números Aleatorios con Tiempo

    Este programa Java genera números aleatorios dentro de un rango dado de 1 a 100 y detiene el proceso de generación cuando se encuentra la secuencia de números 1, 50 y 95. Además, el programa registra la hora de inicio y finalización de la generación de números y muestra el conteo total de números generados.

    Solución

    import java.util.Random;
    import java.time.LocalTime;
    
    public class GeneradorNumerosAleatorios {
        public static void main(String[] args) {
            Random rand = new Random();
            int count = 0;
            LocalTime startTime = LocalTime.now();
    
            while (true) {
                int number = rand.nextInt(100) + 1;
                System.out.println(number);
                count++;
    
                if (number == 1) {
                    number = rand.nextInt(100) + 1;
                    System.out.println(number);
                    count++;
                    if (number == 50) {
                        number = rand.nextInt(100) + 1;
                        System.out.println(number);
                        count++;
                        if (number == 95) {
                            System.out.println("Secuencia encontrada después de " + count + " números aleatorios generados.");
                            break;
                        }
                    }
                }
            }
    
            LocalTime endTime = LocalTime.now();
    
            System.out.println("Hora de inicio: " + startTime);
            System.out.println("Hora de finalización: " + endTime);
        }
    }
    

    Explicación

    • La clase Random del paquete java.util se utiliza para crear un nuevo objeto generador de números aleatorios llamado rand.
    • Una nueva variable entera count se inicializa para hacer un seguimiento del número total de números generados.
    • La clase LocalTime del paquete java.time se utiliza para registrar las horas de inicio y finalización del proceso de generación de números.
    • El bucle while se utiliza para generar números aleatorios hasta que se encuentre la secuencia 1-50-95.
    • Dentro del bucle while, la instrucción rand.nextInt(100) + 1 genera un nuevo número aleatorio entre 1 y 100 (incluido).
    • La instrucción System.out.println(number) imprime el número generado cada vez que se genera.
    • La instrucción count++ incrementa la variable count en 1 cada vez que se genera un número nuevo.
    • La instrucción if comprueba si el número generado coincide con el primer número de la secuencia (1).
    • Si el primer número coincide, se genera y muestra el siguiente número aleatorio.
    • La variable count se incrementa en 1 nuevamente.
    • El segundo if comprueba si el segundo número de la secuencia (50) coincide.
    • Si el segundo número coincide, se genera y muestra el siguiente número aleatorio.
    • La variable count se incrementa en 1 nuevamente.
    • El tercer if comprueba si el tercer número de la secuencia (95) coincide.
    • Si el tercer número coincide, el programa sale del bucle.
    • El programa registra la hora actual como la hora de finalización del proceso de generación de números utilizando LocalTime.now().
    • Las horas de inicio y finalización se imprimen en la consola utilizando System.out.println().

Comments are closed.