我在java編程中使用了haversine公式(使用eclipse)。 我的問題是在等式結尾,我得到一個錯誤(atan被強調),說「方法atan(double)是未定義的數學類型」。Math.atan在java編程中給出錯誤
我不知道是什麼問題。有人有想法嗎?
double angle = 45;
double arctan = Math.atan(angle);
我在java編程中使用了haversine公式(使用eclipse)。 我的問題是在等式結尾,我得到一個錯誤(atan被強調),說「方法atan(double)是未定義的數學類型」。Math.atan在java編程中給出錯誤
我不知道是什麼問題。有人有想法嗎?
double angle = 45;
double arctan = Math.atan(angle);
你在同一個包裏還有其他的Math類嗎?也許你可以嘗試:
double angle = 45;
double arctan = java.lang.Math.atan(angle);
它仍然無法正常工作。給出相同的錯誤。謝謝你,雖然 – tsolias
我能想到的唯一可能的原因是可能會發生這種情況,這是因爲存在命名空間衝突。也就是說,編譯器認爲你的方法中的Math引用了一些其他的Math類,而不是java.lang.Math
在eclipse中,如果將鼠標光標懸停在Math上,它會顯示一個上下文窗口,它認爲數學屬於哪個包。如果它不是java.lang那麼這就是你的問題。
它給了我所有的選擇,如tan,abs,sin,cos..etc所以它屬於java.lang謝謝,但我不認爲這是問題 – tsolias
您是使用Java ME編程移動應用程序嗎?在這種情況下,Math庫實際上不包含atan函數。所以你必須自己計算atan。本主題是discussed here和also here。
適合我。 – dave
只是一個普遍的數學註釋:「atan」的參數不是一個角度 - 它返回一個角度。它是弧度,而不是度數。 – trutheality