Scanner 双值异常:InputMismatchException
问题介绍:
使用 Scanner 类时要从控制台读取双精度值,用户可能会遇到InputMismatchException。当输入与预期的数据类型(在本例中为双精度)不匹配时,就会发生此错误。
问题:
答案:
1.为什么会发生异常?
抛出 InputMismatchException 是因为 Scanner 的默认语言环境未配置为使用句点 (.) 作为小数点分隔符。默认情况下,许多区域设置使用逗号 (,) 作为小数点分隔符。但是,Java 中的浮点数应使用句点作为小数点分隔符。当扫描程序尝试从使用逗号作为小数分隔符的输入中读取双精度值时,它会将其解释为整数,从而导致 InputMismatchException.
2。如何规避异常:
要避免InputMismatchException,可以采取以下步骤:
Scanner scanner = new Scanner(System.in).useLocale(Locale.US);
以上是扫描仪双值:InputMismatchException - 为什么会发生以及如何避免?的详细内容。更多信息请关注PHP中文网其他相关文章!