InputMismatchException en Java et Résolution

Dans cet article, nous discuterons de java.util.InputMismatchException et comment y remédier. InputMismatchException est levée lorsque vous essayez de lire des jetons via une instance de classe de scanner et que l’entrée récupérée ne correspond pas au modèle du type attendu.

InputMismatchException en Java

La classe de scanner en Java peut être utilisée pour lire l’entrée d’un fichier, d’un InputStream, d’un Chemin ou d’une chaîne. Scanner divise son entrée en jetons à l’aide d’un motif de délimiteur, qui correspond par défaut aux espaces. Ces jetons peuvent ensuite être convertis en valeurs de différents types en utilisant les différentes méthodes suivantes. Par exemple, certaines des méthodes suivantes de la classe Scanner pour lire l’entrée suivante du type de données correspondant sont – nextLong(), nextBoolean(), nextByte(), nextDouble(), nextFloat(), nextInt().

Lorsque vous lisez une entrée à l’aide d’une classe de scanner utilisant l’une des méthodes suivantes mais que le type de l’entrée transmise ne correspond pas à la méthode suivante utilisée pour obtenir l’entrée, InputMismatchException est levée. Cette exception est également levée si l’entrée est hors de portée. Par exemple, si l’entrée transmise est de type String et que vous essayez de la lire à l’aide de la méthode nextInt(), l’exception InputMismatchException est levée.

Exemple d’exception Java InputMismatchException

Dans l’exemple, vous prenez une entrée de l’utilisateur, puis affichez si l’entier passé est pair ou impair. La classe Scanner est utilisée pour prendre les entrées de l’utilisateur.

import java.util.Scanner;public class InputMismatchExp { public static void main(String args) { Scanner sc = new Scanner(System.in); System.out.println("Enter a number: "); int i = sc.nextInt(); if(i%2 == 0) { System.out.println("Entered number is even"); }else { System.out.println("Entered number is odd"); } }}

Maintenant, si vous passez l’entrée comme tout autre type comme String, InputMismatchException sera levée.

Enter a number: TwoException in thread "main" java.util.InputMismatchExceptionat java.base/java.util.Scanner.throwFor(Scanner.java:939)at java.base/java.util.Scanner.next(Scanner.java:1594)at java.base/java.util.Scanner.nextInt(Scanner.java:2258)at java.base/java.util.Scanner.nextInt(Scanner.java:2212)at com.knpcode.programs.InputMismatchExp.main(InputMismatchExp.java:10)

How to resolve InputMismatchException

Only way to handle InputMismatchException is to ensure that passed input values are of compatible type.

  • StackOverflowError Vs OutOfMemoryError en Java
  • ClassCastException en Java et Résolution
  • throw Vs throws en Java Gestion des exceptions
  • Propagation des exceptions en Java
  • Gestion des exceptions avec Substitution de méthode en Java
  • Java essayez avec des ressources Avec Des Exemples
  • Gestion des Exceptions Java Questions et Réponses d’entrevue
  • Comment Lire un fichier délimité en Java

C’est tout pour le sujet InputMismatchException en Java et Résolution. Si quelque chose manque ou si vous avez quelque chose à partager sur le sujet, veuillez écrire un commentaire.

Vous aimerez aussi

  • Pouvons-nous Remplacer la Méthode start() en Java
  • Comment Trier ArrayList d’Objets en Java
  • Clonage d’objets en Java À L’Aide de La Méthode clone()
  • Coulée de Type Et Conversion de Type en Java
  • Nombre Stable ou Instable Programme Java
  • spring-boot-starter-parent dans Spring Boot

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.