ホームページ >Java >&#&チュートリアル >スキャナーの二重値: InputMismatchException - 発生する理由と回避方法?
Scanner Double Value Exception:InputMismatchException
問題の概要:
Scanner クラスを使用する場合コンソールから double 値を読み取ると、ユーザーは次のような問題に遭遇する可能性があります。 InputMismatchException。このエラーは、入力が予期されたデータ型 (この場合は double) と一致しない場合に発生します。
質問:
答え:
1.例外はなぜ発生しますか?
スキャナのデフォルト ロケールが小数点区切り文字としてピリオド (.) を使用するように構成されていないため、InputMismatchException がスローされます。デフォルトでは、多くのロケールでは小数点区切り文字としてカンマ (,) が使用されます。ただし、Java の浮動小数点数では、小数点の区切り文字としてピリオドを使用することが想定されています。スキャナーが小数点区切り文字としてカンマを使用する入力から double 値を読み取ろうとすると、それを整数として解釈し、InputMismatchException.
2 を引き起こします。例外を回避する方法:
InputMismatchException を回避するには、次の手順を実行できます:
Scanner scanner = new Scanner(System.in).useLocale(Locale.US);
以上がスキャナーの二重値: InputMismatchException - 発生する理由と回避方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。