i dette innlegget vil vi diskutere om java.util.InputMismatchException og hvordan å fikse det. InputMismatchException kastes når du prøver å lese tokens gjennom En Skannerklasseforekomst, og inndataene som hentes, samsvarer ikke med mønsteret for den forventede typen.
InputMismatchException I Java
Scanner klasse I Java kan brukes til å lese innspill fra En Fil, InputStream, Bane eller Streng. Scanner bryter sin inngang i tokens ved hjelp av et avgrensningsmønster, som som standard samsvarer med mellomrom. Disse tokens kan da konverteres til verdier av forskjellige typer ved hjelp av de ulike neste metodene. For eksempel er noen av de neste metodene I Skannerklassen for å lese neste inngang av den tilsvarende datatypen – nextLong (), nextBoolean (), nextByte (), nextDouble (), nextFloat (), nextInt ().
Når du leser inndata ved hjelp Av En Skannerklasse ved hjelp av en av de neste metodene, men typen av den passerte inngangen samsvarer ikke med den neste metoden som brukes til å få inndataene, Kastes InputMismatchException. Dette unntaket kastes også hvis inngangen er utenfor rekkevidde. For eksempel hvis den passerte inngangen Er Av Typen Streng og du prøver å lese den ved hjelp av nextInt () – metoden, blir InputMismatchException kastet.
Java InputMismatchException Eksempel
i eksemplet tar du inndata fra brukeren og viser deretter om det passerte heltallet er jevnt eller merkelig. Skannerklassen brukes til a ta brukerinngang.
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"); } }}
nå hvis du passerer inngangen som en annen Type Som Streng, Vil InputMismatchException bli 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.
- StackOverflowError Vs OutOfMemoryError I Java
- ClassCastException I Java Og Oppløsning
- kast Vs kast i Java Unntakshåndtering
- Unntaksbehandling Med Metode Som Overstyrer I Java
- Java try-Med-ressurser med eksempler
- java Unntakshåndtering Intervjuspørsmål Og Svar
- Slik Leser Du Avgrenset Fil I Java
det er alt for emnet inputmismatchexception I Java Og Oppløsning. Hvis noe mangler eller du har noe å dele om emnet kan du skrive en kommentar.
Du kan også like
- kan Vi Overstyre start() Metode I Java
- Slik Sorterer Du ArrayList Av Objekter I Java
- Objektkloning I Java Ved hjelp av clone() Metode
- Type Casting Og Type Konvertering I Java
- Stabilt Eller Ustabilt Nummer Java Program
- spring-boot-starter-foreldre i våren boot