în acest post vom discuta despre java.util.InputMismatchException și cum să-l repara. InputMismatchException este aruncat atunci când încercați să citiți token-uri printr-o instanță de clasă scaner și intrarea recuperate nu se potrivește cu modelul pentru tipul așteptat.
inputmismatchexception în Java
clasa Scanner În Java poate fi folosit pentru a citi intrare dintr-un fișier, InputStream, cale sau șir. Scanner își rupe intrarea în jetoane folosind un model de delimitator, care în mod implicit se potrivește cu spațiul alb. Aceste jetoane pot fi apoi convertite în valori de diferite tipuri folosind diferitele metode următoare. De exemplu, unele dintre următoarele metode din clasa Scanner pentru citirea următoarei intrări a tipului de date corespunzător sunt – nextLong (), nextBoolean (), nextByte (), nextDouble (), nextFloat (), nextInt().
când citiți de intrare folosind o clasă de scaner folosind una din metoda următoare, dar tipul de intrare trecut nu se potrivește cu următoarea metodă utilizată pentru a obține de intrare, InputMismatchException este aruncat. Această excepție este, de asemenea, aruncată dacă intrarea este în afara intervalului. De exemplu, în cazul în care intrarea a trecut este de tip șir și încercați să-l citiți folosind nextInt() metoda apoi InputMismatchException este aruncat.
Java Inputmismatchexception exemplu
în exemplul luați de intrare de la utilizator și apoi afișa dacă întreg trecut este chiar sau impar. Clasa Scanner este folosit pentru a lua de intrare de utilizator.
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"); } }}
acum, dacă treceți intrarea ca orice alt tip de șir, atunci InputMismatchException va fi aruncat.
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 în Java
- ClassCastException în Java și rezoluția
- arunca vs aruncă în Java manipulare excepție
- propagarea excepție în Java
- manipulare excepție cu metoda imperative în Java
- Java încercați-cu-resurse cu exemple
- java excepție de manipulare Interviu Întrebări și răspunsuri
- Cum de a citi fișierul delimitat în Java
asta e tot pentru subiect Inputmismatchexception în Java și rezoluția. Dacă lipsește ceva sau aveți ceva de împărtășit despre subiect, vă rugăm să scrieți un comentariu.
s-ar putea dori, de asemenea,
- putem suprascrie start() metoda în Java
- Cum Pentru a sorta ArrayList de obiecte în Java
- obiect clonarea în Java folosind clona() metoda
- Tip turnare și tipul de conversie în Java
- stabil sau instabil program Java număr
- primăvară-Boot-starter-părinte în primăvară Boot