将函数作为Java中的参数传递给另一个函数

时间:2013-05-25 18:01:51

标签: 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;

}

}

1 个答案:

答案 0 :(得分: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示例。 :)