ホームページ > Java > &#&チュートリアル > コンソールから double 値を読み取るときに、InputMismatchException が発生するのはなぜですか?

コンソールから double 値を読み取るときに、InputMismatchException が発生するのはなぜですか?

Barbara Streisand
リリース: 2024-11-07 11:46:02
オリジナル
772 人が閲覧しました

Why am I getting an InputMismatchException when reading double values from the console?

double 値を入力しようとすると、InputMismatchException が発生するのはなぜですか?

提供されたコードでは、nextDouble( ) メソッドは 10 進入力を正しく処理していません。

説明:

コードには次の行があります:

num = reader.nextDouble();
ログイン後にコピー

この行Scanner クラスの nextDouble() メソッドを使用して、標準入力から double 値を読み取ろうとします。ただし、小数点を含む double 値 (例: 1.2) を入力すると、正しく解釈されません。

解決策:

この問題を解決するには、次のようにします。小数点区切り文字を使用できるように入力区切り文字を変更して、小数点入力を処理できるようにコードを変更する必要があります。デフォルトの区切り文字 (空白) を使用する代わりに、新しい区切り文字として , (カンマ) を使用すると、ユーザーは 1,2 などの 10 進数値を入力できます。

これを行うには、入力を読み取る前のスキャナ オブジェクト。変更されたコードは次のとおりです。

Scanner reader = new Scanner(System.in).useDelimiter(",");
ログイン後にコピー

この変更を行うことで、nextDouble() メソッドは 10 進数の入力を正しく解釈するようになり、InputMismatchException が発生しなくなります。

以上がコンソールから double 値を読み取るときに、InputMismatchException が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート