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: juego de adivinación

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

public class Main { public static void main(String[] args) {

    int randomNumber =  new Random().nextInt(100);
    Scanner keyboard = new Scanner(System.in);
    int intentos = 0;
    int userNumber = 0;

    for (int i = 0; i < 5; i++) {
        intentos++;
        System.out.println("Adivina el número aleatorio ");
        userNumber = keyboard.nextInt();

        if (userNumber == randomNumber){
            System.out.println("Acertaste en " + intentos + " intentos");
            break;
        } else if (userNumber > randomNumber){
            System.out.println("El número aleatorio es menor.");
        } else if (userNumber < randomNumber){
            System.out.println("El número aleatorio es mayor.");
        }
        if (intentos == 5 ) {
            System.out.println("Perdiste los 5 intentos. El número aleatorio era " + randomNumber);
        }
    }
    keyboard.close();
}

}

1 respuesta
solución!

¡Hola Jennifer, espero que estés bien!

Tu código para el juego de adivinación se ve bastante bien y parece que estás en el camino correcto. Sin embargo, he notado un pequeño detalle que podría mejorarse. Actualmente, el mensaje que informa al usuario que ha perdido los 5 intentos se imprime dentro del bucle, lo que significa que se mostrará en cada intento fallido después del quinto. Para solucionarlo, puedes mover esa parte del código fuera del bucle. Aquí tienes un ejemplo de cómo podrías hacerlo:

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

public class Main {
    public static void main(String[] args) {

        int randomNumber = new Random().nextInt(100);
        Scanner keyboard = new Scanner(System.in);
        int intentos = 0;
        int userNumber = 0;

        for (int i = 0; i < 5; i++) {
            intentos++;
            System.out.println("Adivina el número aleatorio ");
            userNumber = keyboard.nextInt();

            if (userNumber == randomNumber) {
                System.out.println("¡Acertaste en " + intentos + " intentos!");
                break;
            } else if (userNumber > randomNumber) {
                System.out.println("El número aleatorio es menor.");
            } else if (userNumber < randomNumber) {
                System.out.println("El número aleatorio es mayor.");
            }
        }

        if (intentos == 5 && userNumber != randomNumber) {
            System.out.println("Perdiste los 5 intentos. El número aleatorio era " + randomNumber);
        }

        keyboard.close();
    }
}

Con este ajuste, el mensaje de que has perdido los intentos solo se mostrará una vez, después de que el bucle haya terminado y solo si el usuario no adivinó el número.

Espero que esto te sea de ayuda y te deseo mucha suerte en tus estudios. ¡Bons estudios!