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

Desafío: juego de adivinación

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

public class JuegoAdivinacion {
    public static void main(String[] args) {
        
        Scanner lector = new Scanner(System.in);
        int numeroGenerado = new Random().nextInt(100);
        int intentos = 0;
        
        while (intentos < 5) {
            System.out.print("Introduzca un número entre 0 e 100: ");
            int numeroDelUsuario = lector.nextInt();
            intentos++;
            
            if (numeroDelUsuario == numeroGenerado) {
                System.out.println("Felicidades, adivinaste el número en " + intentos + " intentos!");
                break;
            } else if (numeroDelUsuario < numeroGenerado) {
                System.out.println("El número que escribiste es menor al número generado.");
            } else {
                System.out.println("El número que escribiste es mayor al número generado.");
            }
        }
        
        if (intentos == 5) {
            System.out.println("Lo siento, no conseguiste adivinar el número en 5 intentos. El número era " + numeroGenerado);
        }
    }
}
1 respuesta

¡Hola Mario, espero que estés bien!

Sugerencia: compartir tu proyecto en el canal #comparta-tu-codigo en el servidor ONE en Discord ;)

Tu código para el juego de adivinación se ve bastante bien y parece que has seguido correctamente las instrucciones del desafío. El programa genera un número aleatorio y permite al usuario intentar adivinarlo en un máximo de 5 intentos, proporcionando retroalimentación en cada intento.

Aquí hay un par de sugerencias que podrían mejorar la experiencia del usuario:

  1. Validación de Entrada: Actualmente, el programa no valida si el usuario introduce un número fuera del rango de 0 a 100. Podrías agregar una verificación para asegurarte de que el número ingresado esté dentro de este rango. Por ejemplo:

    if (numeroDelUsuario < 0 || numeroDelUsuario > 100) {
        System.out.println("Por favor, introduce un número entre 0 y 100.");
        intentos--; // No contar este intento como válido
        continue; // Pedir al usuario que intente de nuevo
    }
    
  2. Cerrar el Scanner: Es una buena práctica cerrar el Scanner al final del programa para liberar los recursos. Puedes hacerlo con lector.close(); justo antes de que termine el método main.

Con estas pequeñas mejoras, tu programa será más robusto y amigable para el usuario. ¡Espero que estas sugerencias te sean útiles!

Espero haber ayudado y buenos estudios!