我为一个日期做了一个类,在这个类中包含以下声明:
private int year;
private boolean leap = ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0));
public boolean isLeap() {return leap;}
然后(在不同的文件中)在 main 方法中:
String leapStr;
if (dateObject.isLeap()) {leapStr = "";}
else leapStr = "non-";
System.out.printf("Year %d is a %sleap year.", dateObject.getYear(), leapStr);
因此,由于某种原因,leapStr 永远不会是“非”,即使年份显然不是闰年。我完全不知道问题可能是什么。有任何想法吗?