Home > Java > javaTutorial > body text

Why Does Scanner.nextDouble() Throw an InputMismatchException When Inputting a Double Value?

Linda Hamilton
Release: 2024-11-06 19:42:03
Original
1056 people have browsed it

Why Does Scanner.nextDouble() Throw an InputMismatchException When Inputting a Double Value?

Troubleshooting InputMismatchException Errors in Double Value Input

When working with double values, it's common to encounter an InputMismatchException when using Scanner.nextDouble() to read input. This exception occurs when the user enters an invalid double value, such as a string or an integer without a decimal point.

Consider the following code:

public double checkValueWithin(int min, int max) {
    double num;
    Scanner reader = new Scanner(System.in);
    num = reader.nextDouble(); // Throws InputMismatchException if input is invalid        
    while (num < min || num > max) {
        System.out.print("Invalid. Re-enter number: ");
        num = reader.nextDouble();
    }
    return num;
}
Copy after login

This code validates user input for a double value within a specified range. However, if the user enters a value like "1.2" (using a dot as the decimal separator), it will throw an InputMismatchException.

To resolve this issue, ensure that you use a comma (,) instead of a dot (.) as the decimal separator when entering double values. For example, instead of "1.2", enter "1,2". Alternatively, you can use a different method like Scanner.next() and manually parse the input as a double, handling any exceptions that may occur.

The above is the detailed content of Why Does Scanner.nextDouble() Throw an InputMismatchException When Inputting a Double Value?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template