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

Mi código

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

public class Programa {

public static void main(String[] args) { Scanner teclado = new Scanner(System.in); int numeroSecreto = new Random().nextInt(100) + 1; // ahora entre 1 y 100 int oportunidades = 0; int numero = 0; final int MAX_INTENTOS = 5;

while (numero != numeroSecreto && oportunidades < MAX_INTENTOS) {
    System.out.println("Ingresa un número del 1 al 100:");

    if (!teclado.hasNextInt()) {
        System.out.println("Entrada inválida. Ingresa un número entero.");
        teclado.next(); // limpiar entrada incorrecta
        continue;
    }

    numero = teclado.nextInt();

    if (numero < 1 || numero > 100) {
        System.out.println("El número debe estar entre 1 y 100.");
        continue;
    }

    oportunidades++;

    if (numero > numeroSecreto) {
        System.out.println("El número ingresado es mayor que el número secreto. Intenta nuevamente.");
    } else if (numero < numeroSecreto) {
        System.out.println("El número ingresado es menor que el número secreto. Intenta nuevamente.");
    } else {
        System.out.println("¡Lo lograste! El número secreto era " + numeroSecreto + ". Lo hiciste en " + oportunidades + " intento(s).");
        break;
    }
}

if (numero != numeroSecreto) {
    System.out.println("¡Agotaste tus 5 intentos! El número secreto era " + numeroSecreto + ".");
}

teclado.close();

} }

1 respuesta

¡Hola Esteban, 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 el uso de Random para generar un número aleatorio y el Scanner para obtener la entrada del usuario. También has manejado bien los intentos y el control de entradas inválidas.

Solo hay un pequeño detalle a considerar: el ejercicio pide generar un número aleatorio entre 0 y 100, pero en tu código estás generando un número entre 1 y 100. Para ajustarte exactamente a las instrucciones del desafío, puedes cambiar la línea:

int numeroSecreto = new Random().nextInt(100) + 1; // ahora entre 1 y 100

por:

int numeroSecreto = new Random().nextInt(101); // ahora entre 0 y 100

Con este cambio, el número secreto incluirá el 0 como una posibilidad, cumpliendo con el rango especificado en el desafío.

Espero que esto te ayude y que sigas disfrutando del aprendizaje de Java. ¡Bons estudios!