Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

Desafío: Juego de Adivinación

Aquí mi código, con un bucle While utilizando el condicional de if, elif y else. Agregando además un elif fuera del ciclo while para que nos revele el número secreto. Para testear agregué de forma comentada el número generado para ir haciendo el testeo del funcionamiento.

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

public class Adivinacion {
    public static void main(String[] args) {
        Scanner teclado = new Scanner(System.in);
        int intento = 0;
        int numeroIngresado = 0;

        int generado = new Random().nextInt(100);

        while (intento < 5) {
            System.out.println("Ingrese un número:");
            numeroIngresado = teclado.nextInt();
            if (numeroIngresado != generado && numeroIngresado < generado) {
                System.out.printf("Su numero %d no es correcto y es menor al número esperado\n", +numeroIngresado);
                intento++;
//                System.out.println(generado);
            } else if (numeroIngresado != generado && numeroIngresado > generado) {
                System.out.printf("Su numero %d no es correcto y es mayor al número esperado\n", +numeroIngresado);
                intento++;
//                System.out.println(generado);
            } else {
                System.out.printf("Felicidades su número %d es el correcto!\n", +numeroIngresado);
//                System.out.println(generado);
                break;
            }
        }
        if(intento == 5){
            System.out.printf("El numero generado era %d",+generado);
        }

    }
}
2 respuestas

¡Hola Erick, espero que estés bien!

Tu código para el juego de adivinación se ve bastante bien. Estás utilizando un bucle while para permitir al usuario hacer hasta cinco intentos para adivinar el número generado aleatoriamente. También estás usando las declaraciones if, else if, y else correctamente para verificar si el número ingresado es mayor, menor o igual al número generado.

Aquí hay un par de sugerencias para mejorar un poco más tu programa:

  1. Comentarios: Es una buena práctica mantener los comentarios en el código para que sea más fácil de entender. Por ejemplo, podrías dejar el comentario que revela el número generado solo para pruebas, y asegurarte de eliminarlo o comentarlo antes de la versión final.

  2. Formato de salida: Cuando imprimes el número generado al final, puedes mejorar el formato eliminando el signo + antes de generado en System.out.printf("El numero generado era %d",+generado);. No es necesario y puede confundir.

  3. Validación de entrada: Podrías considerar agregar una verificación para asegurarte de que el usuario ingrese un número válido (por ejemplo, un número entero) y manejar posibles excepciones si el usuario ingresa algo que no es un número.

Aquí tienes un ejemplo de cómo podrías manejar la validación de entrada:

while (intento < 5) {
    System.out.println("Ingrese un número:");
    if (teclado.hasNextInt()) {
        numeroIngresado = teclado.nextInt();
        // Resto de tu código...
    } else {
        System.out.println("Por favor, ingrese un número válido.");
        teclado.next(); // Limpiar la entrada no válida
    }
}

Espero que estas sugerencias te sean útiles. ¡Sigue adelante con tus estudios de Java! Espero haber ayudado y buenos estudios!

Muchas gracias por el feedback!