2013-05-25 178 views
-2

我對Java很陌生,試圖解決這個問題。考慮到年份,月份和日期,我必須先驗證它並對日期進行加減。將函數作爲Java中的參數傳遞給另一個函數

public class Date { 



// fields 

private int month; 

private int day; 

private int year; 



// constructor 

public Date(int month, int day, int year){ 

    this.month = month; 

    this.day = day; 

    this.year = year; 

} 


public void setMonth(int month){ 

    this.month = month; 

} 



public void setDay(int day){ 

    this.day = day; 

} 



public void setYear(int year){ 

    this.year = year; 

} 



public int getMonth(){ 

    return month; 

} 



public int getDay(){ 

    return day; 

} 



public int getYear(){ 

    return year; 

} 



public String displayDate(){ 

    return month + "/" + day + "/" + "/" + year; 

} 

}

+0

http://stackoverflow.com/questions/4685563/how-to-pass-a-function-as-a-parameter-in-java – lurker

+0

你的代碼在哪裏調用函數'add'? – Math

+2

你的代碼似乎有很多問題..請檢查語法 – stinepike

回答

1

答案我可以給基於代碼是你的錯誤信息說什麼。 在你的函數

public int add(int n){...} 

您嘗試使用變量m不存在。 您可以將此變量作爲調用add函數的另一個參數傳遞。

public int add(int n, int m){...} 
... 
myDateObject.add(3,6); 

另一種可能是已經驗證過一個月的值保存到private int month領域第一。然後在add函數中使用它,而不是不存在的變量m

編輯:

有很多的問題,此代碼。例如,爲了運行該程序,您需要一個主程序可以開始執行的主程序。您班的構造函數嘗試爲不存在的字段賦值(this.d = d;而不是this.day = d;)。如果這真的是整個代碼,我建議先嚐試讀/寫並理解一個Java Hello World示例。 :)

+0

我對java很新。我包括整個程序。 – user1471980

+0

我修改了Date類。你能幫助我如何把這個主要?如果我想實例化這個類(Date),我該怎麼做?我真的很揪心。 – user1471980

+0

創建名爲Program.java另一個文件與此代碼: 類節目{ 公共靜態無效的主要(字串[] args){ 日期日期=新的日期(5,25,2012); date.setYear(2013); System.out.println(date.displayDate()); } } – Croo

相關問題