Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

[Proyecto] Desafío

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

public class Adivinanza {
public static void main(String[] args) {
Random random = new Random();
int numeroSecreto = random.nextInt(101); // Número entre 0 y 100
int intentos = 5;

    Scanner scanner = new Scanner(System.in);

    System.out.println(" ¡Bienvenido al juego de adivinanzas!");
    System.out.println("He generado un número entre 0 y 100. Tienes 5 intentos para adivinarlo.\n");

    for (int i = 1; i <= intentos; i++) {
        System.out.print("Intento " + i + "/" + intentos + " -> Ingresa tu número: ");
        
        // Validar entrada
        while (!scanner.hasNextInt()) {
            System.out.print(" Debes ingresar un número válido: ");
            scanner.next();
        }

        int intento = scanner.nextInt();

        if (intento == numeroSecreto) {
            System.out.println(" ¡Felicidades! Adivinaste el número ");
            return;
        } else if (intento < numeroSecreto) {
            System.out.println(" El número secreto es MAYOR.\n");
        } else {
            System.out.println(" El número secreto es MENOR.\n");
        }
    }

    System.out.println(" Se acabaron los intentos. El número era: " + numeroSecreto);
    scanner.close();
}

}

1 respuesta
solución!

¡Hola Álvaro, espero que estés bien!

Tu código para el juego de adivinanzas se ve muy bien estructurado y parece cumplir con los requisitos del desafío. Has implementado correctamente la generación de un número aleatorio, el uso de un bucle para los intentos, y la validación de la entrada del usuario.

Aquí hay algunas observaciones y sugerencias que podrían ayudarte a mejorar o ajustar tu código:

  1. Uso de break;: Aunque no es estrictamente necesario en tu caso, ya que usas return; para salir del método main, podrías considerar usar break; en lugar de return; para salir del bucle cuando el usuario adivina el número correctamente. Esto te permitiría realizar cualquier acción adicional después del bucle si lo deseas.

    if (intento == numeroSecreto) {
        System.out.println(" ¡Felicidades! Adivinaste el número ");
        break; // Salir del bucle
    }
    
  2. Mensajes de salida: Los mensajes que proporcionas son claros. Sin embargo, si deseas hacer el juego más interactivo, podrías agregar mensajes de ánimo o de despedida al final del juego, independientemente de si el usuario adivinó correctamente o no.

  3. Cierre del Scanner: Es una buena práctica cerrar el Scanner al final del uso para liberar recursos. Ya lo has hecho, lo cual es excelente.

  4. Mejoras visuales: Podrías agregar líneas de separación o más espacios para mejorar la legibilidad de los mensajes en la consola.

En general, tu implementación parece estar en línea con lo que se pidió en el desafío. ¡Buen trabajo! Espero que estas sugerencias te sean útiles.

Espero haber ayudado y buenos estudios!