neste post vamos discutir sobre java.util.InputMismatchException e como corrigi-lo. InputMismatchException é lançado quando você está tentando ler tokens através de uma instância de classe de Scanner e a entrada recuperada não corresponde ao padrão para o tipo esperado.
InputMismatchException em Java
a classe Scanner em Java pode ser usada para ler a entrada de um arquivo, InputStream, Path ou String. O Scanner divide sua entrada em tokens usando um padrão delimitador, que por padrão corresponde ao espaço em branco. Esses tokens podem então ser convertidos em valores de diferentes tipos usando os vários próximos métodos. Por exemplo, alguns dos seguinte métodos na classe Scanner para ler a próxima entrada do tipo de dados correspondente são – nextLong(), nextBoolean(), nextByte(), nextDouble(), nextFloat(), nextInt().
quando você está lendo a entrada usando uma classe de Scanner usando um dos próximos métodos, mas o tipo da entrada passada não corresponde ao próximo método usado para obter a entrada, InputMismatchException é lançado. Essa exceção também é lançada se a entrada estiver fora do intervalo. Por exemplo, se a entrada passada for do tipo String e você tentar lê-la usando o método nextInt (), o InputMismatchException será lançado.
exemplo Java InputMismatchException
no exemplo, você obtém a entrada do Usuário e exibe se o inteiro passado é par ou ímpar. A classe do Scanner é usada para receber a entrada do Usuário.
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"); } }}
agora, se você passar a entrada como qualquer outro tipo como String, então InputMismatchException será lançado.
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 em Java
- ClassCastException em Java e Resolução
- jogar Vs lança em Java Manipulação de Exceção
- Propagação de Exceção em Java
- Tratamento de Exceção para o Método Primordial em Java
- Java tente-com-recursos Com Exemplos
- Java Manipulação de Exceção de Perguntas E Respostas da Entrevista
- Como Ler o Arquivo Delimitado em Java
isso é tudo para o tópico InputMismatchException em Java e Resolução. Se algo estiver faltando ou você tiver algo para compartilhar sobre o tópico, Escreva um comentário.
Você também pode gostar
- Podemos Substituir Método start() em Java
- Como Classificar ArrayList de Objetos em Java
- Objeto de Clonagem em Java Usando o clone() Método
- Tipo de Carcaça E Conversão de Tipo em Java
- Estável ou Instável Número de Programa em Java
- primavera-boot-starter-pai na Primavera de Inicialização