i dette indlæg vil vi diskutere om java.util.Inputmismatchundtagelse og hvordan man løser det. Inputmismatchundtagelse kastes, når du prøver at læse tokens gennem en Scannerklasse-forekomst, og det hentede input stemmer ikke overens med mønsteret for den forventede type.
Inputmismatchundtagelse i Java
Scannerklasse i Java kan bruges til at læse input fra en fil, InputStream, sti eller streng. Scanner bryder sit input i tokens ved hjælp af et afgrænsningsmønster, som som standard matcher hvidt rum. Disse tokens kan derefter konverteres til værdier af forskellige typer ved hjælp af de forskellige næste metoder. For eksempel er nogle af de næste metoder i Scannerklassen til læsning af den næste indgang af den tilsvarende datatype – næst lang(), næst boolsk(), næstbyte(), næstdobbelt(), næstefloat(), næstint().
når du læser input ved hjælp af en Scannerklasse ved hjælp af en af de næste metoder, men typen af den beståede indgang ikke svarer til den næste metode, der bruges til at få input, kastes Inputmismatchundtagelse. Denne undtagelse kastes også, hvis indgangen er uden for rækkevidde. For eksempel, hvis den passerede input er af typen streng, og du forsøger at læse det ved hjælp af næste() metode derefter Inputmismatch undtagelse kastes.
Java Inputmismatchundtagelseseksempel
i eksemplet tager du input fra brugeren og viser derefter, om det passerede heltal er lige eller ulige. Scanner klasse bruges til at tage brugerinput.
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"); } }}
nu, hvis du sender input som enhver anden type som streng, så vil Inputmismatchundtagelse blive kastet.
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.
- Stackoverblomstrerror Vs OutOfMemoryError in Java
- Klassekastundtagelse i Java og opløsning
- kast Vs kast i Java undtagelseshåndtering
- Undtagelsesformering i Java
- undtagelseshåndtering i Java
- undtagelseshåndtering i Java
- Java try-med-ressourcer med eksempler
- Java undtagelse håndtering samtale spørgsmål og svar
- Sådan læses afgrænset fil i Java
det er alt for emnet Inputmismatchundtagelse i Java og opløsning. Hvis der mangler noget, eller du har noget at dele om emnet, så skriv en kommentar.
du kan også lide
- kan vi tilsidesætte start() metode i Java
- sådan sorteres ArrayList af objekter i Java
- Objektkloning i Java ved hjælp af klon() metode
- Type Casting og type konvertering i Java
- stabilt eller ustabilt nummer Java-Program
- forår-boot-starter-forælder i foråret Boot