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

adivina el numero

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

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

    Random random = new Random();
    Scanner teclado = new Scanner(System.in);

    int numeroSecreto = random.nextInt(101); // Número aleatorio entre 0 y 100
    int intentosMaximos = 5;

    System.out.println("¡Bienvenido al juego de adivinanzas!");
    System.out.println("Tienes que adivinar un número entre 0 y 100.");
    System.out.println("Tienes " + intentosMaximos + " intentos. ¡Suerte!");

    for (int intento = 1; intento <= intentosMaximos; intento++) {
        System.out.print("Intento " + intento + ": Ingrese su número: ");
        int numeroIngresado = teclado.nextInt();

        if (numeroIngresado == numeroSecreto) {
            System.out.printf(" ¡Correcto! Adivinaste el número en %d intento(s).%n", intento);
            break;
        } else if (numeroIngresado < numeroSecreto) {
            System.out.println("El número secreto es mayor.");
        } else {
            System.out.println(" El número secreto es menor.");
        }

        if (intento == intentosMaximos) {
            System.out.println(" Lo siento, te quedaste sin intentos.");
            System.out.println("El número secreto era: " + numeroSecreto);
        } else {
            System.out.printf(" Te quedan %d intento(s).%n", intentosMaximos - intento);
        }
    }

    teclado.close();
}

}

2 respuestas

Hola Luis, espero que estés bien

Tu código para el juego de adivinanzas se ve muy bien y parece que cumple con los requisitos del desafío. Has implementado correctamente la generación de un número aleatorio, el uso de un bucle para los intentos, y proporcionas retroalimentación al usuario sobre si el número ingresado es mayor o menor que el número secreto.

Aquí hay un par de cosas que podrías considerar para mejorar o ajustar:

  1. Claridad en los mensajes: Asegúrate de que los mensajes al usuario sean claros y fáciles de entender. Por ejemplo, podrías eliminar el espacio extra al inicio del mensaje " El número secreto es menor." para mantener la consistencia.

  2. Manejo de excepciones: Aunque no es obligatorio, podrías considerar manejar posibles excepciones que podrían ocurrir si el usuario ingresa un valor no numérico. Esto se puede hacer usando un bloque try-catch alrededor de teclado.nextInt() para capturar InputMismatchException.

Aquí tienes un ejemplo de cómo podrías implementar el manejo de excepciones:

try {
    int numeroIngresado = teclado.nextInt();
    // Resto de tu lógica aquí
} catch (InputMismatchException e) {
    System.out.println("Por favor, ingresa un número válido.");
    teclado.next(); // Limpiar el buffer del scanner
    intento--; // No contar este intento
    continue; // Pasar al siguiente ciclo
}

Esto ayudará a que tu programa sea más robusto y amigable para el usuario. Espero que estas sugerencias sean útiles.

¡Espero haber ayudado y buenos estudios!

Muchas gracias por tus aportes