2016-04-20 51 views
1

爲什麼calcGPA會說它等於NaN?我確定它不是未定義的。Android應用程序返回NaN

double gradesMultiplied = ((quantityA * 4.00) + (quantityAMin * 3.70) + (quantityBPlu * 3.30) + (quantityB * 3.00) + (quantityBMin * 2.70) + (quantityCPlu * 2.30) + (quantityC * 2.00) + (quantityCMin * 1.70) + (quantityDPlu * 1.30) + quantityD + (quantityDMin * 0.70)); 
double gradesAdded = (quantityA + quantityAMin + quantityBPlu + quantityB + quantityBMin + quantityCPlu + quantityC + quantityCMin + quantityDPlu + quantityD + quantityDMin + quantityF); 
double calcGPA = gradesMultiplied/gradesAdded; 
+2

我懷疑,這兩個'gradesMultiplied'和'gradesAdded'爲零。 –

+0

或者您添加的許多數量中的一個已經是'NaN'。 –

+0

如果您使用數組而不是這些'quantityXXX'變量,這會更容易。 –

回答

0

NaN is Not a Number,嘗試在開頭顯式轉換所有值爲數字。

也在尋找this是有可能你正在除以零零?

「南」 代表 「不是一個數字」。如果浮點操作有一些輸入參數導致操作產生一些未定義的結果,則產生「Nan」。例如,0.0除以0.0在算術上是未定義的。取一個負數的平方根也是不明確的。

+0

這也正是我是正確的指出只是didnt類型,我更新雖然。感謝和歡呼聲 – workabyte

+0

我知道我不是除以零,因爲我要確保gradesAdded不是零 – tchristofferson

+0

@tchristofferson那麼賠率是有NaN值在鏈 – workabyte

0

我修好了大家。我必須將我的方法中的前兩行放在按下按鈕時添加數量。