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

adivinanza

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

public class adivinanza {
    public static void main(String[] args) {
        int numeroCalculado = new Random().nextInt(100);
        int intentos= 5;
        int contador= 1;
        Scanner teclado = new Scanner(System.in);
        
        while (contador <= intentos) {
            contador++;
            System.out.println("Ingrese el numero a adivinar:");
            int numero = teclado.nextInt();
            if (numero == numeroCalculado) {
                System.out.println("Acertaste el numero " );
                break;
            }else if (numero < numeroCalculado) {
                System.out.println("El numero " + numero + " es menor que el que vas a adivinar");
            }else if (numero > numeroCalculado) {
                System.out.println("El numero " + numero + " es mayor que el que vas a a divinar ");
            }
            if(intentos == contador){
                System.out.println("Números de intentos superados ");
            }

        }
    }
}
1 respuesta

Hola Edwin, espero que estés bien

¡Tu código para el juego de adivinanzas se ve muy bien! Sin embargo, he notado un pequeño detalle que podrías ajustar para que el mensaje de "Números de intentos superados" se muestre correctamente después de que se haya agotado el último intento. Actualmente, el mensaje se muestra dentro del bucle antes de que se realice el último intento. Aquí tienes una sugerencia para corregirlo:

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

public class adivinanza {
    public static void main(String[] args) {
        int numeroCalculado = new Random().nextInt(100);
        int intentos = 5;
        int contador = 0; // Empieza en 0 para contar correctamente los intentos
        Scanner teclado = new Scanner(System.in);
        
        while (contador < intentos) { // Cambia la condición para que sea menor que intentos
            contador++;
            System.out.println("Ingrese el numero a adivinar:");
            int numero = teclado.nextInt();
            if (numero == numeroCalculado) {
                System.out.println("¡Acertaste el número!");
                break;
            } else if (numero < numeroCalculado) {
                System.out.println("El número " + numero + " es menor que el que vas a adivinar.");
            } else {
                System.out.println("El número " + numero + " es mayor que el que vas a adivinar.");
            }
        }
        
        if (contador == intentos) { // Comprueba si se han agotado los intentos
            System.out.println("Números de intentos superados. El número era: " + numeroCalculado);
        }
        
        teclado.close(); // Cierra el Scanner
    }
}

Con este ajuste, el mensaje de "Números de intentos superados" se mostrará solo después de que el usuario haya agotado todos sus intentos sin adivinar correctamente el número. Además, he añadido el cierre del Scanner al final del programa para evitar posibles fugas de recursos.

Espero haber ayudado y buenos estudios!