Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

El desafio

import java.util.Random; import java.util.Scanner;

public class Desafio01 { public static void main(String[] args) { Random random = new Random(); int numeroSecreto = new Random().nextInt(101);

    Scanner scanner = new Scanner(System.in);

    int maxIntentos = 5;
    int intentos = 0;
    boolean adivinado = false;

    System.out.println("¡Bienvenido al juego de adivinanzas!");
    System.out.println("He generado un número entre 0 y 100. ¿Puedes adivinar cuál es?");
    System.out.println("Tienes " + maxIntentos + " intentos. ¡Buena suerte!\n");

    while (intentos < maxIntentos) {
        System.out.print("Intento " + (intentos + 1) + ": Ingresa tu número: ");
        int numeroUsuario = scanner.nextInt(); // Leer el número ingresado por el usuario

        if (numeroUsuario == numeroSecreto) {
            System.out.println("\n¡Felicidades! Has adivinado el número secreto: " + numeroSecreto);
            adivinado = true;
            break; // Salir del bucle al acertar
        } else if (numeroUsuario < numeroSecreto) {
            System.out.println("El número secreto es mayor. ¡Intenta de nuevo!");
        } else {
            System.out.println("El número secreto es menor. ¡Intenta de nuevo!");
        }

        intentos++; // Aumentar el contador de intentos
    }

    if (!adivinado) {
        System.out.println("\nLo siento, has agotado tus intentos. El número secreto era: " + numeroSecreto);
    }
    scanner.close();
}

}

1 respuesta

¡Hola Carlos, espero que estés bien!

Tu código para el juego de adivinanzas se ve muy bien y parece que cumple con los requisitos del desafío. Has implementado correctamente la generación de un número aleatorio, el uso del Scanner para recibir la entrada del usuario, y el bucle para controlar los intentos. Además, manejas bien los casos en los que el número ingresado es mayor o menor que el número secreto.

Solo un pequeño detalle que podrías considerar mejorar: cuando creas el número aleatorio, estás usando new Random().nextInt(101);. Aunque esto funciona, podrías simplificarlo utilizando la instancia de Random que ya creaste al inicio del método main. Así, en lugar de int numeroSecreto = new Random().nextInt(101);, podrías usar int numeroSecreto = random.nextInt(101);. Esto no afecta el funcionamiento, pero hace que el código sea un poco más limpio y eficiente.

Por lo demás, ¡todo parece estar en orden! Tu programa debería funcionar correctamente y proporcionar una buena experiencia de juego.

Espero haber ayudado y buenos estudios!