Java-Fehler java.util.InputMismatchException

Muhammad Zeeshan 12 Oktober 2023
  1. die java.util.InputMismatchException in Java
  2. Ursachen des Fehlers java.util.InputMismatchException
  3. Beheben Sie den Fehler java.util.InputMismatchException
Java-Fehler java.util.InputMismatchException

Dieser Artikel behandelt die java.util.InputMismatchException im main-Thread der Programmiersprache Java.

die java.util.InputMismatchException in Java

Die JVM löst java.util.InputMismatchException aus, wenn sie eine Art von Daten als Eingabe empfängt, aber eine andere Art von Wert erwartet, was auf eine Nichtübereinstimmung in den Daten hinweist. Das bedeutet, dass der Wert nicht mit dem regulären Ausdrucksmuster übereinstimmt oder außerhalb des akzeptablen Bereichs liegt.

Zum Beispiel sucht das Programm nach einem ganzzahligen Wert als Eingabe, um zu prüfen, ob er gerade oder ungerade ist, wie unten gezeigt.

Codebeispiel:

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 ");
      }
    }
  }
}

Ausgang:

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)

Ursachen des Fehlers java.util.InputMismatchException

Der Grund für die java.util.InputMismatchException im Beispiel ist, wenn eine Scanner-Klasse zum Empfangen von Benutzereingaben verwendet wird. Eine InputMissMatchException wird ausgegeben, wenn die an die Methode übergebenen Parameter nicht gültig sind.

Wenn der in die nextInt()-Funktion gelieferte Wert eine String-Ausnahme wäre, würde eine String-Ausnahme ausgelöst werden. Die Funktion nextInt() kann nur Integer-Werte verarbeiten, keine String-Werte.

Beheben Sie den Fehler java.util.InputMismatchException

Dieser Fehler tritt aufgrund ungenauer Daten auf, und um ihn zu beheben, müssen wir die Daten berichtigen. Im Beispiel haben wir die Funktion nextInt() verwendet.

Der String-Parameter wird jedoch nicht unterstützt. Um die java.util.InputMismatchException zu beheben, müssen wir überprüfen, ob die Eingabevalidierung ordnungsgemäß funktioniert und wir die entsprechenden Datentypwerte liefern.

Wir verwenden die Methode try catch, um Benutzereingaben zu validieren. Das Programm gibt den folgenden Fehler zurück, wenn der Benutzer einen anderen ungültigen Wert als eine ganze Zahl eingibt.

Fehlerausgabe:

Input value is Invalid please provide an integer value:

Vollständiger Quellcode:

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: ");
    }
  }
}

Ausgang:

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

Verwandter Artikel - Java Error