2011-07-23 60 views
0

我在java編程中使用了haversine公式(使用eclipse)。 我的問題是在等式結尾,我得到一個錯誤(atan被強調),說「方法atan(double)是未定義的數學類型」。Math.atan在java編程中給出錯誤

我不知道是什麼問題。有人有想法嗎?

double angle = 45; 
    double arctan = Math.atan(angle); 
+1

適合我。 – dave

+1

只是一個普遍的數學註釋:「atan」的參數不是一個角度 - 它返回一個角度。它是弧度,而不是度數。 – trutheality

回答

2

你在同一個包裏還有其他的Math類嗎?也許你可以嘗試:

double angle = 45; 
double arctan = java.lang.Math.atan(angle); 
+0

它仍然無法正常工作。給出相同的錯誤。謝謝你,雖然 – tsolias

1

我能想到的唯一可能的原因是可能會發生這種情況,這是因爲存在命名空間衝突。也就是說,編譯器認爲你的方法中的Math引用了一些其他的Math類,而不是java.lang.Math

在eclipse中,如果將鼠標光標懸停在Math上,它會顯示一個上下文窗口,它認爲數學屬於哪個包。如果它不是java.lang那麼這就是你的問題。

+0

它給了我所有的選擇,如tan,abs,sin,cos..etc所以它屬於java.lang謝謝,但我不認爲這是問題 – tsolias

1

您是使用Java ME編程移動應用程序嗎?在這種情況下,Math庫實際上不包含atan函數。所以你必須自己計算atan。本主題是discussed herealso here