InputMismatchException w Javie i rozdzielczość

w tym poście omówimy Javę.util.InputMismatchException i jak to naprawić. InputMismatchException jest wyrzucany, gdy próbujesz odczytać tokeny za pomocą instancji klasy skanera, a pobrane dane wejściowe nie pasują do wzorca oczekiwanego typu.

InputMismatchException w Javie

Klasa skanera w Javie może być używana do odczytu danych wejściowych z pliku, strumienia wejściowego, ścieżki lub ciągu znaków. Skaner dzieli swoje dane wejściowe na tokeny za pomocą wzoru ogranicznika, który domyślnie odpowiada białym spacjom. Tokeny te mogą być następnie przekształcane na wartości różnych typów przy użyciu różnych metod next. Na przykład niektóre z kolejnych metod w klasie skanera do odczytu następnego wejścia odpowiedniego typu danych to-nextLong(), nextBoolean(), nextByte(), nextDouble(), nextFloat (), nextInt ().

podczas odczytu danych wejściowych przy użyciu klasy skanera przy użyciu jednej z następnych metod, ale Typ przekazanego danych wejściowych nie pasuje do następnej metody użytej do uzyskania danych wejściowych, inputmismatchexception jest wyrzucany. Wyjątek ten jest również wyrzucany, jeśli Dane wejściowe są poza zakresem. Na przykład, jeśli przekazane dane wejściowe są typu String i próbujesz je odczytać przy użyciu metody nextInt (), to zostanie wyrzucony wyjątek Inputmismatchexcepcja.

Java Inputmismatchexception Example

w przykładzie bierzesz dane wejściowe od użytkownika, a następnie wyświetlasz, czy podana liczba całkowita jest parzysta czy nieparzysta. Klasa skanera jest używana do pobierania danych wejściowych użytkownika.

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"); } }}

teraz, jeśli przekażesz dane wejściowe jako dowolny inny typ, taki jak String, zostanie wyrzucony InputMismatchException.

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 w Javie
  • ClassCastException w Javie i rozdzielczość
  • throw Vs throws w Javie Obsługa wyjątków
  • propagacja WYJĄTKÓW w Javie
  • Obsługa wyjątków z nadpisaniem metody w Javie
  • Java try-with-resources with examples
  • Obsługa wyjątków Java pytania i odpowiedzi
  • jak odczytać rozdzielony plik w Javie

to wszystko dla tematu inputmismatchexception w Javie i rozdzielczości. Jeśli czegoś brakuje lub masz coś do podzielenia się na ten temat, napisz komentarz.

Możesz również polubić

  • Czy możemy zastąpić metodę start() w Javie
  • jak sortować ArrayList obiektów w Javie
  • klonowanie obiektów w Javie za pomocą metody clone ()
  • Typ Casting i konwersja typów w Javie
  • stabilny lub niestabilny numer programu Java
  • Spring-Boot-Starter-parent in Spring Boot

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.