0

キーボード入力を読み取ろうとしていますが、小数は許可されています。

import java.util.Scanner;

public class TemperaturFormel {

    public static void main(String[] args)
    {
        Scanner userIn = new Scanner(System.in);
//      double temperatur, vindstyrka;
        double temperatur = userIn.nextDouble();
        double vindstyrka = userIn.nextDouble();

        System.out.print(temperatur + "\n" + vindstyrka);
    }

}

最初に変数を double として宣言する場合と宣言しない場合の両方を試しました。整数を読み取るときは問題なく動作しますが、double は InputMismatchException エラーを返します。

4

1 に答える 1

6

これはおそらくロケールの問題です。(ただし、サンプル入力を提供していないため、確実に知ることはできません。デフォルトのロケールを知ることも役立ちます。) を呼び出して、スキャナーが使用するロケールを設定できますScanner.useLocale(Locale locale)Scannerdocsの「Localized Numbers」に関する議論を参照してください。

于 2013-06-04T19:35:47.200 に答える