Error de Java java.util.InputMismatchException

Muhammad Zeeshan 12 octubre 2023
  1. la java.util.InputMismatchException en Java
  2. Causas del error java.util.InputMismatchException
  3. Solucione el error java.util.InputMismatchException
Error de Java java.util.InputMismatchException

Este artículo discutirá la excepción java.util.InputMismatchException en el hilo principal del lenguaje de programación Java.

la java.util.InputMismatchException en Java

La JVM arrojará java.util.InputMismatchException siempre que reciba un tipo de datos como entrada pero espera otro tipo de valor, lo que indica una falta de coincidencia en los datos. Eso denota que el valor no coincide con el patrón de expresión regular o está fuera del rango aceptable.

Por ejemplo, el programa busca un valor entero como entrada para comprobar si es par o impar, como se muestra a continuación.

Ejemplo de código:

import java.util.Scanner;
public class example {
  public static void main(String[] args) {
    int n = 0;
    Scanner s = new Scanner(System.in);
    for (int i = 0; i < 10; i++) {
      System.out.println("Enter a number to check Even/Odd");
      n = s.nextInt();
      if (n % 2 == 0) {
        System.out.println(n + " = EVEN ");
      } else {
        System.out.println(n + " = ODD ");
      }
    }
  }
}

Producción :

Enter a number to check Even/Odd
5
5 = ODD
Enter a number to check Even/Odd
6
6 = EVEN Enter a number to check Even/Odd
z
Exception in thread "main" java.util.InputMismatchException
    at java.util.Scanner.throwFor(Scanner.java:864)
    at java.util.Scanner.next(Scanner.java:1485)
    at java.util.Scanner.nextInt(Scanner.java:2117)
    at java.util.Scanner.nextInt(Scanner.java:2076)
    at example.main(example.java:8)

Causas del error java.util.InputMismatchException

La razón que causó java.util.InputMismatchException en el ejemplo es cuando se usa una clase “Escáner” para recibir la entrada del usuario. Se emitirá una InputMissMatchException si los parámetros proporcionados al método no son válidos.

Si el valor proporcionado en la función nextInt() fuera una excepción String, se lanzaría. La función nextInt() solo puede manejar valores enteros, no valores de cadena.

Solucione el error java.util.InputMismatchException

Este error se produce por datos inexactos, y para repararlo necesitamos rectificar los datos. En el ejemplo, usamos la función nextInt().

Sin embargo, no admite el parámetro de cadena. Para resolver la excepción java.util.InputMismatchException, debemos comprobar que la validación de entrada funciona correctamente y que estamos proporcionando los valores de tipo de datos adecuados.

Usaremos el método try catch para validar la entrada del usuario. El programa devuelve el siguiente error si el usuario ingresa un valor no válido que no sea un número entero.

Salida de error:

Input value is Invalid please provide an integer value:

Código fuente completo:

import java.util.Scanner;
public class example {
  public static void main(String[] args) {
    int n = 0;
    try {
      Scanner s = new Scanner(System.in);
      for (int i = 0; i < 10; i++) {
        System.out.println("Enter a number to check Even/Odd");
        n = s.nextInt();
        if (n % 2 == 0) {
          System.out.println(n + " = EVEN ");
        } else {
          System.out.println(n + " = ODD ");
        }
      }
    } catch (Exception exp) {
      System.out.println(" Input value is Invalid please provide an integer value: ");
    }
  }
}

Producción :

Enter a number to check Even/Odd
6
6 = EVEN
Enter a number to check Even/Odd
z
Input value is Invalid please provide an integer value:
Muhammad Zeeshan avatar Muhammad Zeeshan avatar

I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.

LinkedIn

Artículo relacionado - Java Error