幾年前,我爲C++編寫了一個方法,現在正試圖將它用於Java。我認爲這將會像編輯該方法的第一行一樣簡單,但我錯了。使用雙重返回值和參數在Java中編寫算法方法的問題
代碼如下。更新:
import static java.lang.Math.*;
public static double getJD(double y,double m,double d){
if (m<=2.0){
y-=1.0;
m+=12.0;
}
double a=floor(y/100.0);
return (365.25*(y+4716.0))+(30.6001*(m+1))+d+(2.0-a+floor(a/4.0))-1524.5;
}
編輯:Eclipse仍然嚇壞了下面列出的編譯器錯誤。
說明資源路徑上標記位置類型語法錯誤「 - 」, 刪除令牌該令牌jd.java /經過時間計算/ src目錄第7行的Java問題 語法錯誤「;」?預期的jd.java /已用時間 calc/src第3行Java問題令牌「)」上的語法錯誤,,此令牌之後預期的 jd.java /經過的時間calc/src第2行Java問題 令牌「double」 ,{expected jd.java /已用時間 calc/src line 1 Java問題令牌「double」的語法錯誤,@ 預期的jd.java /經過的時間calc/src第1行Java問題語法 令牌「double」刪除此令牌jd.java /已用時間 calc/src第1行Java問題令牌「double」的語法錯誤,無效 (jd.java /經過時間計算/ src第1行Java問題 令牌上的語法錯誤,刪除這些令牌jd.java /已用時間calc/src第1行Java 問題語法上的令牌錯誤,刪除它們令牌jd.java /已消逝 time calc/src line 4 Java問題令牌上的語法錯誤,刪除這些令牌jd.java /經過的時間calc/src第6行Java問題語法 錯誤,插入「:Expression」以完成表達式jd .java/Elapsed time calc/src line 7 Java問題語法錯誤,插入「)」以完成 SingleMemberAnnotation jd.java /經過時間calc/src第7行Java 問題語法錯誤,插入「}」以完成 MemberValueArrayInitializer jd .java /已用時間calc/src第7行Java 問題語法錯誤,插入「}」以完成 MemberValueArrayInitializer jd.java /經過時間calc/src第7行Java 問題語法錯誤,插入「枚舉標識符」即可完成 EnumHeaderName jd.java /經過時間計算/ src目錄第7行的Java問題 語法錯誤,插入 「EnumBody」 完成 CompilationUnit jd.java /經過時間計算/ src目錄第7行的Java問題
問題是......? –
使用http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Math.html#floor(double)進行Floor操作 –
我看到的唯一問題是您必須實現方法'floor()'。或者使用Math.floor(),就像Renato Lochetti說的 – Roger