I need help with the following Java assignment. I included what I think is the D
ID: 2247325 • Letter: I
Question
I need help with the following Java assignment. I included what I think is the Date class that this question is referring to. If not, please discard it.
Modify the Date class so that it includes a compareTo method with signature
int compareTo(Date anotherDate)
This method should return the value 0 if this date (the date of the object upon which the method is invoked) is equal to the argument date; a value less than 0 if this date is a date earlier than the argument date; and a value greater than 0 if this date is a date later than the argument date. Create a test driver that shows that your method performs correctly.
This is the Date class
public class Date {
protect int year, month, day;
public static final int MINYEAR = 1583;
// Constructor
public Date(int newMonth, int newDay, int newYear)
{
month = newMonth; day = newDay; year = newYear;
}
//Observers
public int getYear()
{ return year;
}
public int getMonth()
{ return month;
}
public int getDay()
{ return day;
}
@Override
public String toString()
// returns this date as a String.
{
return(month + "/" + day + "/" + year);
}
}
Explanation / Answer
This will be the compareto method that should be incorporated in the date class
public int compareTo(Date anotherDate) {
long thisTime = getMillisOf(this);
long anotherTime = getMillisOf(anotherDate);
return (thisTime<anotherTime ? -1 : (thisTime==anotherTime ? 0 : 1));
}