Posted by: Slackdemic September 28, 2006
Java Help
Login in to Rate this Post:     0       ?        
Any serious Java people in here? For some reasons, the following code doesn't work for leap year. Any help/suggestion is appreciated. The classes are Date and TestDate: public void addMonth(int m) { month = month + m; if (month>12) { month-=12; addYear(1); } } public boolean isLeap(int y) { if (y%100==0) { if (y%400==0) return true; else return false; } else if (y%4==0) return true; return false; } public void addDay(int d) { day = day + 1; if (day>28) { if (month==2) { if (isLeap(year)) { if (day>29) { day-=29; addMonth(1); return; } else return; } day-=28; addMonth(1); } else if ((month==4||month==6||month==9||month==11)&&day>30) { day-=30; addMonth(1); } else if (day>31) { day-=31; addMonth(1); } } } public void addYear(int y) { { year += y; if (month==2) if (day==29) if (!isLeap(year)) { setMonth(3); setDay(1); } } } public String toString() { String d=""+day,m=""+month,y=""+year; if (d.length()<2) d="0"+d; if (m.length()<2) m="0"+m; while (y.length()<4) y="0"+y; return m + "/"+ d + "/" + y; //return the value of } //concatenated month, day, and year }
Read Full Discussion Thread for this article