InputMismatchException i Java och upplösning

i det här inlägget kommer vi att diskutera om java.util.InputMismatchException och hur man fixar det. InputMismatchException kastas när du försöker läsa tokens genom en Skannerklassinstans och inmatningen som hämtas matchar inte mönstret för den förväntade typen.

InputMismatchException i Java

Scanner klass i Java kan användas för att läsa indata från en fil, InputStream, sökväg eller sträng. Scanner bryter sin inmatning i tokens med hjälp av ett avgränsningsmönster, som som standard matchar whitespace. Dessa tokens kan sedan omvandlas till värden av olika typer med hjälp av de olika nästa metoderna. Till exempel är några av de följande metoderna i Skannerklassen för att läsa nästa inmatning av motsvarande datatyp – nextLong(), nextBoolean(), nextByte(), nextDouble(), nextFloat(), nextInt().

när du läser inmatning med en Skannerklass med en av nästa metod men typen av godkänd ingång inte matchar nästa metod som används för att få inmatningen kastas InputMismatchException. Detta undantag kastas också om ingången är utanför intervallet. Till exempel om den passerade ingången är av typen String och du försöker läsa den med nextInt () – metoden kastas InputMismatchException.

Java Inputmismatchexception exempel

i exemplet tar du inmatning från användaren och visar sedan om det passerade heltalet är jämnt eller udda. Scanner klass används för att ta in användarinmatning.

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 om du passerar inmatningen som någon annan typ som sträng, kommer InputMismatchException att kastas.

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 och upplösning
  • kasta Vs kastar i Java Undantagshantering
  • Undantagsutbredning i Java
  • Undantagshantering med metod som åsidosätter i Java
  • Java try-med-resurser med exempel
  • Java Undantagshantering intervjufrågor och svar
  • hur man läser avgränsad fil i Java

det är allt för ämnet Inputmismatchexception i Java och upplösning. Om något saknas eller om du har något att dela om ämnet skriv en kommentar.

du kanske också gillar

  • kan vi åsidosätta start ()-metoden i Java
  • hur man sorterar ArrayList av objekt i Java
  • Objektkloning i Java med clone ()-metoden
  • typgjutning och Typkonvertering i Java
  • stabilt eller instabilt nummer Java-Program
  • Spring-Boot-starter-förälder i Spring Boot

Lämna ett svar

Din e-postadress kommer inte publiceras.