2014-10-17 69 views
2

首先,我已阅读了关于此错误的许多线索,但没有解决我的问题。线程“main”中的异常java.util.InputMismatchException“double”输入错误

这里是我的代码:

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例如,它表明我这个错误,我究竟做错了什么?

+2

您的代码工作正常,我。告诉我们你准确输入的内容。 – TheLostMind 2014-10-17 13:01:30

+0

输入是什么? – 2014-10-17 13:03:39

+0

当我输入“8”作为输入时,它工作正常。但是,如果我输入“8.5”,例如,我得到这个错误。我将变量命名为double,因为我需要使用这些数字。 – user3755419 2014-10-17 13:04:00

回答

1

正如我以前的评论(我想将它转换成答案)中所述,这是Locale的问题(来自变量名称,似乎是意大利语)。使用逗号,而不是为点(8,5,而不是8.5),或使用适当的语言环境来看,像这样的初始化扫描仪:

Scanner scanner = new Scanner(System.in).useLocale(Locale.US); 
相关问题