Exception in thread main java.util.InputMismatchException at java.base/java.util.Scanner.t [SOLUCIONADO]

Las excepciones son situaciones que ocurran en nuestro código y lo interrumpen. Java cuenta con un sistema robusto para manejar estas situaciones. Sin embargo, a veces te puedes encontrar con excepciones que pueden ser difícil de entender. Una de esas excepciones es la “Exception in thread main java.util.InputMismatchException at java.base/java.util.Scanner.t”.

Esta excepción de desajuste de entrada (Input Mismatch Exception) ocurre comúnmente cuando hay una incompatibilidad entre el tipo de dato que el método espera recibir y el tipo de dato que realmente recibe. En este caso, el desajuste se produjo en la clase Scanner de java.util.

                import java.util.Scanner;

                public class Main {
                    public static void main(String[] args) {
                        Scanner scan = new Scanner(System.in);
                        System.out.println("Introduzca un número:");
                        int num = scan.nextInt();
                    }
                }
            


El código anterior pide al usuario que introduzca un número y luego trata de guardar esa entrada en una variable de tipo ‘int’. Si el usuario introduce algo que no es un número, obtendremos la Excepción de Desajuste de Entrada porque el código espera un número (int), pero recibe algo diferente.

Para manejor este tipo de situaciones, debemos controlar las excepciones que nuestro código pueda lanzar. En el caso de java.util.Scanner, podemos envolver el código en un bloque try-catch. El bloque ‘try’ contiene el código que podría lanzar una excepción, mientras que el bloque ‘catch’ define qué hacer si se lanza esa excepción.

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

                public class Main {
                    public static void main(String[] args) {
                        Scanner scan = new Scanner(System.in);
                        System.out.println("Introduzca un número:");

                        try {
                            int num = scan.nextInt();
                        } catch (InputMismatchException e) {
                            System.out.println("Debe introducir un número.");
                        }
                    }
                }
            


Ahora, con este código, si el usuario introduce algo que no es un número, se mostrará un mensaje indicando que debe introducir un número y la aplicación no se bloqueará.

Este es solo un ejemplo de cómo manejar la ‘Excepción de Desajuste de Entrada’. Cada situación y cada código son diferentes, así que debes entender bien qué está causando la excepción en tu código y cómo puedes manejarla de la manera más adecuada.

Recuerda siempre, las excepciones no son algo malo, son la manera en que Java te dice que algo no está yendo como esperabas en tu código y te da la opción de manejar esa situación de la mejor manera posible.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad