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 Desafio {
    public static void main(String[] args) {
        int numeroUsuario = 0;
        int intentos = 0;
        int intentosMaximos = 5;

        int numeroAleatorio = new Random().nextInt(101);
//        System.out.println(numeroAleatorio);
        Scanner teclado = new Scanner(System.in);

        while(numeroUsuario != numeroAleatorio && intentos < intentosMaximos) {
            System.out.println("Digita un numero entre 0 y 100 :");
            numeroUsuario = teclado.nextInt();

            if (numeroUsuario < 0 || numeroUsuario > 100) {
                System.out.println("Numero ingresado no valido");
            } else {
                    intentos++;

                    if (numeroAleatorio != numeroUsuario) {
                        if (numeroUsuario > numeroAleatorio) {
                            System.out.println("El numero ingresado es Mayor que el numero sorteado ");
                        } else {
                            System.out.println("El numero ingresado es Menor que el numero sorteado ");
                        }
                        if (intentos < intentosMaximos) {
                            System.out.println("Te quedan " + (intentosMaximos - intentos) + " intentos");
                        } else {
                            System.out.println("Lo siento, has agotado los " + intentosMaximos + " intentos. El numero era: " + numeroAleatorio);
                        }
                    }
                }
            }
        if (numeroAleatorio == numeroUsuario) {
            System.out.println("numero acertado, felicitaciones");
        }
    }
}
1 respuesta

¡Hola Mario, espero que estés bien!

Tu código para el juego de adivinación se ve bastante bien y parece que está cumpliendo con la mayoría de los requisitos del desafío. Sin embargo, hay una pequeña sugerencia que podría mejorar el flujo del programa de acuerdo con las instrucciones del ejercicio.

Una de las recomendaciones es utilizar la instrucción break; para salir del bucle cuando el usuario adivine correctamente el número. Esto no es estrictamente necesario ya que tu lógica actual funciona, pero si quieres seguir las instrucciones al pie de la letra, podrías modificar tu código de la siguiente manera:

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

public class Desafio {
    public static void main(String[] args) {
        int numeroUsuario = 0;
        int intentos = 0;
        int intentosMaximos = 5;

        int numeroAleatorio = new Random().nextInt(101);
        // System.out.println(numeroAleatorio);
        Scanner teclado = new Scanner(System.in);

        while (intentos < intentosMaximos) {
            System.out.println("Digita un numero entre 0 y 100 :");
            numeroUsuario = teclado.nextInt();

            if (numeroUsuario < 0 || numeroUsuario > 100) {
                System.out.println("Numero ingresado no valido");
            } else {
                intentos++;

                if (numeroAleatorio == numeroUsuario) {
                    System.out.println("Numero acertado, felicitaciones");
                    break; // Salimos del bucle si el usuario adivina correctamente
                } else {
                    if (numeroUsuario > numeroAleatorio) {
                        System.out.println("El numero ingresado es Mayor que el numero sorteado ");
                    } else {
                        System.out.println("El numero ingresado es Menor que el numero sorteado ");
                    }
                    if (intentos < intentosMaximos) {
                        System.out.println("Te quedan " + (intentosMaximos - intentos) + " intentos");
                    } else {
                        System.out.println("Lo siento, has agotado los " + intentosMaximos + " intentos. El numero era: " + numeroAleatorio);
                    }
                }
            }
        }
    }
}

Con este cambio, el bucle se detendrá inmediatamente después de que el usuario adivine el número correctamente, utilizando break; para salir del bucle.

Espero que esto te ayude y te deseo mucho éxito con tu aprendizaje de Java. ¡Espero haber ayudado y buenos estudios!