“线程“主”java.util.InputMismatchException 中出现异常”**

2024-02-10

我已经搜索过,但我确实找不到代码中的任何错误,请帮忙!

代码可以编译,但是,这是我想回答问题 3 时遇到的错误:

Exception in thread "main" java.util.InputMismatchException
        at java.util.Scanner.throwFor(Unknown Source)
        at java.util.Scanner.next(Unknown Source)
        at java.util.Scanner.nextDouble(Unknown Source)
        at ForgetfulMachine.main(ForgetfulMachine.java:16)

这是我的代码:

import java.util.Scanner;

public class ForgetfulMachine
{
    public static void main( String[] args )
    {
        Scanner keyboard = new Scanner(System.in);

        System.out.println( "What city is the capital of Germany?" );
        keyboard.next();

        System.out.println( "What is 6 divided by 2?" );
        keyboard.nextInt();

        System.out.println( "What is your favorite number between 0.0 and 1.0?" );
        keyboard.nextDouble();

        System.out.println( "Is there anything else you would like to tell me?" );
        keyboard.next();
    }
}

Scanner如果条目的格式对于扫描仪的区域设置不正确,将引发此异常。特别是,在您的情况下,如果使用了错误的小数分隔符。两个都. and ,是常见的特定于区域设置的小数分隔符。

要了解默认区域设置的小数分隔符是什么,您可以使用:

System.out.println(
    javax.text.DecimalFormatSymbols.getInstance().getDecimalSeparator()
);

也可以看看:

  • Scanner#locale() https://docs.oracle.com/javase/8/docs/api/java/util/Scanner.html#locale--
  • Scanner#useLocale(Locale) https://docs.oracle.com/javase/8/docs/api/java/util/Scanner.html#useLocale-java.util.Locale-
  • DecimalFormatSymbols#getInstance(Locale) https://docs.oracle.com/javase/8/docs/api/java/text/DecimalFormatSymbols.html#getInstance-java.util.Locale-
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“线程“主”java.util.InputMismatchException 中出现异常”** 的相关文章

随机推荐