public static boolean isLeapYear(int year)
{ if ((year % 4) != 0)
return false;
else if ((year % 400) == 0)
return true;
else if ((year % 100) == 0)
return false;
else
return true;
}
public int getDaysInThisMonth()
{ if (month == APRIL || month == JUNE || month == SEPTEMBER || month == NOVEMBER)
return 30;
else if (month == FEBRUARY || isLeapYear == false)
return 28;
if (isLeapYear == true)
return 29;
else return 31;
}
SEPTEMBER-DECEMBER全部定义为常数1-12,按预期方式工作。我的问题是尝试编译时出现错误代码。
symbol: variable isLeapYear
location: class Date
Date.java:68: error: cannot find symbol
if (isLeapYear == true)
^
symbol: variable isLeapYear
location: class Date
2 errors
那么,为什么当isLeapYear直接位于它上方时,为什么找不到它呢?我发布的内容上方的所有代码均按预期工作。
最佳答案
isLeapYear
是一种方法,而不是变量,因此您必须调用它:
if (isLeapYear(year)) {
由于它需要该
year
参数,因此您也必须弄清楚它的来源。