1
我對Java很陌生,我正在製作一個簡單的計算器。問題是當我的輸入數字是例如「3.1」時,它給出了一個異常錯誤,但是當寫入「3,1」時它工作得很好。當我用逗號或點分隔小數時掃描加倍
但是,我的朋友有一個稍微高級的計算器(帶有字符串解析),當我運行他的代碼時,情況會發生相反的變化:3,1給出異常錯誤,3.1完美工作。
我很期待知道是什麼導致了這些不同的行爲。
我剛纔提出這個簡單的加法,同樣的情況,我將修改,並把他的計算器代碼在幾分鐘內
import java.util.Scanner;
public class Tutorial_7 {
public static void main(String args[]){
Scanner scan = new Scanner(System.in);
double num1, num2;
System.out.println("Introduza os dois números");
System.out.println("1º: ");
num1 = scan.nextDouble();
System.out.println("2º: ");
num2 = scan.nextDouble();
System.out.println((num1 + num2));
scan.close();
}
}
最後編輯:他確實使用Double.parseDouble()
。明白了,差異確實在於它本地化的地方。應該找到它,但從來沒有聽說過這個概念。
謝謝
不知道的代碼是什麼樣子的這些實現的,我們無法回答。抱歉。 –
閱讀Scanner.nextDouble()的文檔:它說明它的功能。閱讀Double.parseDouble()(你的朋友可能使用)的文檔:它說明了它的作用。一個是本地化的,另一個不是,並且它全部記錄在javadoc中。 –