2014-10-17 71 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); 
相關問題