2014-01-27 38 views
1

我想用eclipse創建一個帶有java的計算器。我在這裏創建此代碼:帶十進制數字的Java計算器錯誤?

package ozan; 

import java.util.Scanner; 

class apples { 
    public static void main(String args[]) { 
     Scanner ozan = new Scanner(System.in); 
     double fnum, snum, answer; 
     System.out.println("Enter first number: "); 
     fnum = ozan.nextDouble(); 
     System.out.println("Enter second number: "); 
     snum = ozan.nextDouble(); 
     answer = fnum + snum; 
     System.out.println(answer); 
    } 
} 

每當我點擊運行其確定。我的程序完全與非十進制數一起工作:「1,122,436」

但是當我輸入一個十進制數字就像「1.1」或「5.5」它停止並給出錯誤。

IMAGE HERE

我可以做些什麼來解決這個問題?

+0

我只是想用兩個小數和非小數相同的代碼,它沒有任何問題的執行.. – Vamshi

回答

2

您需要精確地將Locale添加到您的掃描儀對象中,其中小數點用點分隔,否則使用您的默認語言環境(並且它似乎不會在您的情況下用點分隔它們)。

Scanner ozan = new Scanner(System.in).useLocale(Locale.UK); 
+1

正傳 - 因爲這裏在德國,像5,987多家將在英國被解讀爲5.987 - 和多數民衆相當差異! – Marenthyu

+0

沒有工作...... :( – user3241040

+0

@ user3241040它對我有用,你輸入了什麼數字? –