Overridding compareTo() method
Hi all,
I have the following MyDate class:
class MyDate{
int month;// Month number in range 1 to 12.
int day;// Day number in range 1 to 31.
int year;// Year number.
MyDate(int m,int d,int y){// Convenience constructor.
month = m;
day = d;
year = y;
}
}
I want to modify the MyDate class so that it implements the Comparable interface.
I modified it in this way:
import java.util.*;
class MyDateimplements Comparable
{
int month;// Month number in range 1 to 12.
int day;// Day number in range 1 to 31.
int year;// Year number.
// Convenience constructor.
MyDate(int m,int d,int y)
{
month = m;
day = d;
year = y;
}
publicint compareTo(MyDate myDate)
{
GregorianCalendar gc1 =new GregorianCalendar(this.year, this.month - 1, this.day);
GregorianCalendar gc2 =new GregorianCalendar(myDate.year, myDate.month - 1, myDate.day);
int result = gc1.compareTo(gc2);
if (result == 0)
{
System.out.println("Dates are equal.");
return 0;
}
elseif (result < 0)
{
System.out.println("gc1 is before gc2.");
return -1;
}
elseif (result > 0)
{
System.out.println("gc1 is after gc2.");
return 1;
}
}
}
However, I receive the following compile error:
MyDate.java:3: MyDate is not abstract and does not override abstract method compareTo(java.lang.Object) in java.lang.Comparable
class MyDate implements Comparable
^
1 error
I don't know what's wrong? Any help is greatly appreciated.

