线程“main”中的异常java.util.InputMismatchException“double”输入错误

时间:2014-10-17 12:59:08

标签: java double java.util.scanner

首先,我已经阅读了很多有关此错误的主题,但没有解决我的问题。

这是我的代码:

import java.util.Scanner;

public class Programa1 {

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

        double strana_a, strana_b, strana_c;
        strana_a = s.nextDouble();
        //strana_b = s.nextDouble();
        //strana_c = s.nextDouble();

        System.out.println(strana_a);

        s.close();
    }

}

例如,当我输入8.0时,它会显示我的错误,我做错了什么?

1 个答案:

答案 0 :(得分:1)

正如我在之前的评论中所说的那样(我想将其转换为答案),这是Locale的一个问题(从变量'名称来看,似乎你是'意大利)。使用逗号代替点(8,5,而不是8.5),或使用适当的Locale for point初始化扫描程序,如下所示:

Scanner scanner = new Scanner(System.in).useLocale(Locale.US);