InputMismatchException时

时间:2012-07-20 16:54:13

标签: java exception

我想问为什么我会收到InputMismathException

我已声明了double类型的变量,当我为其指定一个点值,例如(4.6)时,它会抛出我:

Exception in thread "main" java.util.InputMismatchException
    at java.util.Scanner.throwFor(Scanner.java:909)
    at java.util.Scanner.next(Scanner.java:1530)
    at java.util.Scanner.nextDouble(Scanner.java:2456)
    at Exercises.ComputingMeanAndStandartDeviation_5_21.main(ComputingMeanAndStandartDeviation_5_21.java:18)

以下是代码:

package Exercises;

import java.util.*;

public class ComputingMeanAndStandartDeviation_5_21 
{

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

        double sum = 0;
        double number = 1;
        double counter = 1;
        System.out.println("Enter ten numbers: ");
        while(counter<10)
        {
            number = input.nextDouble();
            sum +=number;
            counter ++;
        }

        System.out.println(sum + "   " + number + " " + counter);
        double mean = sum / counter;
        System.out.println("The mean is: " + mean);
    }

}

1 个答案:

答案 0 :(得分:2)

语言环境中的问题

Locale.setDefault(Locale.US);
Scanner input = new Scanner(System.in);

美国小数分隔符“。”(78.12)而非“,”(78,12)