Exception in thread main java util inputmismatchexception at java util scanner

Exception in thread “main” java.util.inputmismatchexception & How to solve it

In this tutorial, we will explain the exception in thread “main” java.util.inputmismatchexception in Java. This exception is thrown by an instance of the Scanner class to indicate that a retrieved token does not match the pattern for the expected type, or that the retrieved token is out of range.

The InputMismatchException class extends the NoSuchElementException class, which is used to indicate that the element being requested does not exist. Furthermore, the NoSuchElementException class extends the RuntimeException class and thus belongs to those exceptions that can be thrown during the operation of the Java Virtual Machine (JVM). It is an unchecked exception and thus, it does not need to be declared in a method’s or a constructor’s throws clause.

1. The Structure of the InputMismatchException

Constructors

Creates an instance of the InputMismatchException class, using the specified string as message. The string argument indicates the name of the class that threw the error.

2. The InputMismatchException in Java

As we have already described, the InputMismatchException class indicates that a retrieved token does not match a pattern. For example, an application expects to read integers from an input file, but instead, a real number is read. In this case, we have an input mismatch and thus, an InputMismatchException will be thrown:

InputMismatchException.java:

import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class InputMismatchExceptionExample < //The name of the input file. private final static String filename = "input.txt"; public static void main(String[] args) throws FileNotFoundException < Scanner scanner = new Scanner(new File(filename)); while(scanner.hasNext()) System.out.println(scanner.nextInt()); //Close the scanner. scanner.close(); >>

In this example, we read sample integer values from an input file. If the requested value is not an integer, this an InputMismatchException will be thrown. For example, if the file input.txt contains the following values:

Читайте также:  Первый язык javascript или python

then, the execution of our application is shown below:

100 50 30 Exception in thread "main" java.util.InputMismatchException at java.util.Scanner.throwFor(Scanner.java:864) at java.util.Scanner.next(Scanner.java:1485) at java.util.Scanner.nextInt(Scanner.java:2117) at java.util.Scanner.nextInt(Scanner.java:2076) at main.java.InputMismatchExceptionExample.main(InputMismatchExceptionExample.java:15)

3. How to deal with the exception in thread “main” java.util.inputmismatchexception

In order to deal with this exception, you must verify that the input data of your application meet its specification. When this error is thrown, the format of the input data is incorrect and thus, you must fix it, in order for your application to proceed with its execution.

4. Download the Eclipse Project

This was a tutorial about the exception in thread “main” java.util.inputmismatchexception in Java.

Last updated on Jan. 10th, 2022

Источник

Java — exception in thread «main» java.util.InputMismatchException [Solved]

Twitter Facebook Google Pinterest

A quick guide to understand what is java util inputmismatchexception and how to solve java.util.inputmismatchexception in java?

1. Overview

In this tutorial, We’ll learn what is the meaning of java.util.InputMismatchException and how do we solve and handle this error java.util.InputMismatchException.

hwo to fix and handle java.util.InputMismatchException.png

2. What is the meaning of InputMismatchException?

inputmismatchexception is thrown by the jvm when it is expecting one type of value as input but it received a different type of data. That means value if does not match with the regular expression pattern or out of range.

For example, if the program is expecting to get the integer value as input but it got the string values. So, this is called input mismatch. So, it is called inputmismatchexception in java.

3. Hierarchy of InputMismatchException class

InputMismatchException class extends NoSuchElementException which means that is requested data is not present.

4. InputMismatchException Constructors

InputMismatchException(String message): Generates InputMismatchException objecgt with the given message.

5. InputMismatchException Example 1

We can generate InputMismatchException using Scanner class. By using Scanner class we can read the input from the user keyboard by using nextInt() method.

package com.javaprogramto.exception.inputmismatchexception; import java.util.Scanner; public class InputMismatchExceptionExample < public static void main(String[] args) < Scanner scanner = new Scanner(System.in); System.out.println("Please enter a number"); int number = scanner.nextInt(); if (number % 2 == 0) < System.out.println(number + " is even"); >else < System.out.println(number + " is odd"); >> >
Please enter a number number Exception in thread "main" java.util.InputMismatchException at 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.javaprogramto.exception.inputmismatchexception.InputMismatchExceptionExample.main(InputMismatchExceptionExample.java:12)

In this example, an integer value is expected but found alphabets in it. So, it is not able to match numeric regular expression patterns.

Читайте также:  Php error reporting stack trace

6. InputMismatchException Example 2

package com.javaprogramto.exception.inputmismatchexception; import java.math.BigDecimal; import java.util.Scanner; public class InputMismatchExceptionExample2 < public static void main(String[] args) < Scanner scanner = new Scanner(System.in); System.out.println("Enter BigDecimal array size: "); int size = scanner.nextInt(); BigDecimal[] array = new BigDecimal[size]; for (int i = 0; i < size; i++) < array[i] = scanner.nextBigDecimal(); >> >
Enter BigDecimal array size: 5 25 qwe Exception in thread "main" java.util.InputMismatchException at 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.nextBigDecimal(Scanner.java:2742) at com.javaprogramto.exception.inputmismatchexception.InputMismatchExceptionExample2.main(InputMismatchExceptionExample2.java:18)

7. How to solve java.util.InputMismatchException?

To solve java.util.InputMismatchException, we need to make sure the validations are in place and passing correct data type values.

8. Conclusion

Labels:

SHARE:

Twitter Facebook Google Pinterest

About Us

Java 8 Tutorial

  • Java 8 New Features
  • Java 8 Examples Programs Before and After Lambda
  • Java 8 Lambda Expressions (Complete Guide)
  • Java 8 Lambda Expressions Rules and Examples
  • Java 8 Accessing Variables from Lambda Expressions
  • Java 8 Method References
  • Java 8 Functional Interfaces
  • Java 8 — Base64
  • Java 8 Default and Static Methods In Interfaces
  • Java 8 Optional
  • Java 8 New Date Time API
  • Java 8 — Nashorn JavaScript

Java Threads Tutorial

Kotlin Conversions

Kotlin Programs

Java Conversions

  • Java 8 List To Map
  • Java 8 String To Date
  • Java 8 Array To List
  • Java 8 List To Array
  • Java 8 Any Primitive To String
  • Java 8 Iterable To Stream
  • Java 8 Stream To IntStream
  • String To Lowercase
  • InputStream To File
  • Primitive Array To List
  • Int To String Conversion
  • String To ArrayList

Java String API

  • charAt()
  • chars() — Java 9
  • codePointAt()
  • codePointCount()
  • codePoints() — Java 9
  • compareTo()
  • compareToIgnoreCase
  • concat()
  • contains()
  • contentEquals()
  • copyValueOf()
  • describeConstable() — Java 12
  • endsWith()
  • equals()
  • equalsIgnoreCase()
  • format()
  • getBytes()
  • getChars()
  • hashcode()
  • indent() — Java 12
  • indexOf()
  • intern()
  • isBlank() — java 11
  • isEmpty()
  • join()
  • lastIndexOf()
  • length()
  • lines()
  • matches()
  • offsetByCodePoints()
  • regionMatches()
  • repeat()
  • replaceFirst()
  • replace()
  • replaceAll()
  • resolveConstantDesc()
  • split()
  • strip(), stripLeading(), stripTrailing()
  • substring()
  • toCharArray()
  • toLowerCase()
  • transform() — Java 12
  • valueOf()
Читайте также:  Python get file ext

Spring Boot

$show=Java%20Programs

$show=Kotlin

accumulo,1,ActiveMQ,2,Adsense,1,API,37,ArrayList,18,Arrays,24,Bean Creation,3,Bean Scopes,1,BiConsumer,1,Blogger Tips,1,Books,1,C Programming,1,Collection,8,Collections,37,Collector,1,Command Line,1,Comparator,1,Compile Errors,1,Configurations,7,Constants,1,Control Statements,8,Conversions,6,Core Java,149,Corona India,1,Create,2,CSS,1,Date,3,Date Time API,38,Dictionary,1,Difference,2,Download,1,Eclipse,3,Efficiently,1,Error,1,Errors,1,Exceptions,8,Fast,1,Files,17,Float,1,Font,1,Form,1,Freshers,1,Function,3,Functional Interface,2,Garbage Collector,1,Generics,4,Git,9,Grant,1,Grep,1,HashMap,2,HomeBrew,2,HTML,2,HttpClient,2,Immutable,1,Installation,1,Interview Questions,6,Iterate,2,Jackson API,3,Java,32,Java 10,1,Java 11,6,Java 12,5,Java 13,2,Java 14,2,Java 8,128,Java 8 Difference,2,Java 8 Stream Conversions,4,java 8 Stream Examples,12,Java 9,1,Java Conversions,14,Java Design Patterns,1,Java Files,1,Java Program,3,Java Programs,114,Java Spark,1,java.lang,4,java.util. function,1,JavaScript,1,jQuery,1,Kotlin,11,Kotlin Conversions,6,Kotlin Programs,10,Lambda,2,lang,29,Leap Year,1,live updates,1,LocalDate,1,Logging,1,Mac OS,3,Math,1,Matrix,6,Maven,1,Method References,1,Mockito,1,MongoDB,3,New Features,1,Operations,1,Optional,6,Oracle,5,Oracle 18C,1,Partition,1,Patterns,1,Programs,1,Property,1,Python,2,Quarkus,1,Read,1,Real Time,1,Recursion,2,Remove,2,Rest API,1,Schedules,1,Serialization,1,Servlet,2,Sort,1,Sorting Techniques,8,Spring,2,Spring Boot,23,Spring Email,1,Spring MVC,1,Streams,31,String,61,String Programs,28,String Revese,1,StringBuilder,1,Swing,1,System,1,Tags,1,Threads,11,Tomcat,1,Tomcat 8,1,Troubleshoot,26,Unix,3,Updates,3,util,5,While Loop,1,

A quick guide to understand what is java util inputmismatchexception and how to solve java.util.inputmismatchexception in java?

Источник

[Solved] Exception in thread “main” java.util.InputMismatchException

A Scanner throws this exception to indicate that the token retrieved does not match the expected type pattern, or that the token is out of range for the expected type.

In simpler terms, you will generally get this error when user input or file data do not match with expected type.

Let’s understand this with the help of simple example.

If you put NA as user input, you will get below exception.
Output:

Enter any integer: NA
Exception in thread “main” java.util.InputMismatchException
at 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 org.arpit.java2blog.ReadIntegerMain.main(ReadIntegerMain.java:13)

As you can see, we are getting Exception in thread «main» java.util.InputMismatchException for input int because user input NA is String and does not match with expected input Integer.

Hierarchy of java.util.InputMismatchException

InputMismatchException extends NoSuchElementException which is used to denote that request element is not present.

NoSuchElementException class extends the RuntimeException , so it does not need to be declared on compile time.

Here is a diagram for hierarchy of java.util.InputMismatchException .

JAVA CODING INTERVIEW QUESTIONS

Constructor of java.util.InputMismatchException

There are two constructors exist for java.util.InputMismatchException

  1. InputMismatchException(): Creates an InputMismatchException with null as its error message string.
  2. InputMismatchException​(String s): Creates an InputMismatchException, saving a reference to the error message string s for succeeding retrieval by the getMessage() method.

How to solve java.util.InputMismatchException?

In order to fix this exception, you must verify the input data and you should fix it if you want application to proceed further correctly. This exception is generally caused due to bad data either in the file or user input.

That’s all about how to fix exception in thread «main» java.util.InputMismatchException .

Источник

Оцените статью