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

Mi solucion. Queria usar excepciones pero no se ocuparlas bien en Java. Pero mi programa funciona bien.


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

public class Main {
    public static void main(String[] args) {
        Scanner input= new Scanner(System.in);
         int num_Jugador=0;
         int num_random= new Random().nextInt(100);


        for (int i = 0; i <=5; i++) {
            System.out.println("Ingresa numero del 1 al 100");
            num_Jugador = input.nextInt();

            while (num_Jugador>100){
                System.out.println("Debe ingresar obligatoriamente un número entero en el rango 1 hasta el 100");
                break;
            }
            
            if (num_random!=num_Jugador){
                if (num_random<num_Jugador) {
                    System.out.println("el numero que buscas en mas pequeño");
                } else if (num_random>num_Jugador) {
                    System.out.println("el numero que buscas es mas grande");
            }
            } else if (num_random==num_Jugador) {
                System.out.println("Felicidades! Adivinaste el numero!"+ num_random);
                break;
            }
            if (i == 5){
                System.out.println("Lo siento se ha quedado sin intentos. Vuelva a intentarlo en nuevo juego");
            }
        }
        }
}


1 respuesta

¡Hola Alejandra, espero que estés bien!

Entiendo que estás buscando una forma de utilizar excepciones en tu programa de adivinanzas en Java. Aunque tu programa funcione bien, es una buena práctica manejar las excepciones para controlar posibles errores que puedan ocurrir durante la ejecución del programa.

En tu caso, podrías utilizar una excepción para manejar el caso en el que el usuario ingrese un número fuera del rango permitido (mayor que 100). Por ejemplo, podrías utilizar la excepción InputMismatchException para manejar la entrada incorrecta del usuario al solicitar un número entero.

Aquí te muestro un ejemplo de cómo podrías implementar el manejo de excepciones en tu programa:

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

public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int num_Jugador = 0;
        int num_random = new Random().nextInt(100);

        for (int i = 0; i <= 5; i++) {
            System.out.println("Ingresa un número del 1 al 100");
            try {
                num_Jugador = input.nextInt();
                if (num_Jugador < 1 || num_Jugador > 100) {
                    throw new InputMismatchException();
                }
            } catch (InputMismatchException e) {
                input.nextLine(); // Limpiar el buffer del scanner
                System.out.println("Debe ingresar obligatoriamente un número entero en el rango 1 hasta el 100");
                continue; // Volver al inicio del bucle
            }

            // Resto de tu lógica para comparar el número ingresado con el número aleatorio
            // ...

            if (i == 5) {
                System.out.println("Lo siento, te has quedado sin intentos. Vuelve a intentarlo en un nuevo juego");
            }
        }
    }
}

En este ejemplo, se utiliza un bloque try-catch para capturar la excepción InputMismatchException que se lanza cuando el usuario ingresa un valor que no es un entero. Si se captura esta excepción, se muestra un mensaje y se vuelve al inicio del bucle para que el usuario ingrese un nuevo número.

Espero que este ejemplo te ayude a comprender cómo manejar excepciones en tu programa. Si tienes alguna otra pregunta, no dudes en preguntar. ¡Buena suerte con tu juego de adivinanzas en Java!

Espero haber ayudado y buenos estudios!