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

Desafío

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

public class Adivinanza {

public static void main(String[] args) {

    int contador = 0;
    int numeroAleatorio = 0;
    int numeroIngresado = 0;

    Scanner input = new Scanner(System.in);
    numeroAleatorio = new Random().nextInt (100);
    while (contador <= 4) {
        System.out.println("Ingresa un número: ");
        numeroIngresado = input.nextInt();
        if (numeroIngresado == numeroAleatorio) {
            System.out.println("Felicidades, tu número: " + numeroIngresado + " es igual al número aleatorio: " + numeroAleatorio);
            break;
        } else {
            if (numeroIngresado < numeroAleatorio) {
                System.out.println("El número ingresado es menor que el número aleatorio, intenta de nuevo");
            }else {
                System.out.println("El número ingresado es mayor que el número aleatorio, intenta de nuevo");
            }
            contador++;
            if (contador == 5) {
                System.out.println("Este fue tu último intento");
            }
        }
    }
}

}

1 respuesta

Hola Alexa, espero que estés bien

¡Tu código se ve muy bien! Parece que estás en el camino correcto para completar el desafío del juego de adivinanzas. Has implementado correctamente la generación de un número aleatorio y el uso de un bucle para permitir varios intentos. Aquí hay algunas observaciones y sugerencias que podrían ayudarte:

  1. Generación del número aleatorio: Estás generando el número aleatorio correctamente con new Random().nextInt(100);, lo cual es perfecto para obtener un número entre 0 y 99. Si quieres incluir el 100, puedes usar new Random().nextInt(101);.

  2. Control de intentos: Has configurado el bucle para permitir hasta 5 intentos, lo cual está bien. Sin embargo, el mensaje "Este fue tu último intento" aparece después del quinto intento. Si deseas que aparezca antes de que el usuario ingrese su último intento, podrías ajustar el mensaje para que se muestre cuando contador == 4.

  3. Cierre del Scanner: Aunque no es crítico en programas pequeños, es una buena práctica cerrar el objeto Scanner al final de su uso para liberar recursos. Puedes hacerlo añadiendo input.close(); después del bucle.

Aquí tienes un pequeño ajuste en el código para mostrar el mensaje antes del último intento:

while (contador < 5) { // Cambié <= 4 por < 5
    System.out.println("Ingresa un número: ");
    numeroIngresado = input.nextInt();
    if (numeroIngresado == numeroAleatorio) {
        System.out.println("Felicidades, tu número: " + numeroIngresado + " es igual al número aleatorio: " + numeroAleatorio);
        break;
    } else {
        if (numeroIngresado < numeroAleatorio) {
            System.out.println("El número ingresado es menor que el número aleatorio, intenta de nuevo");
        } else {
            System.out.println("El número ingresado es mayor que el número aleatorio, intenta de nuevo");
        }
        contador++;
        if (contador == 4) { // Cambié == 5 por == 4
            System.out.println("Este es tu último intento");
        }
    }
}
input.close(); // Cerrar el Scanner

Espero que estas sugerencias te sean útiles. ¡Espero haber ayudado y buenos estudios!