Question: Write a Java class called Date that includes three fields year, month and day. This class stores information about a single date (year, month and

Write a Java class called Date that includes three fields year, month and day. This class stores information about a single date (year, month and day). Your class should have constructor(s), accessors and mutators and it should implement the Comparable interface. Years take precedence over months, which take precedence over days. For example, Feb 19, 2016 comes after Nov 20, 2015.

The following class DateTest can be used to test the Date class that you wrote. It creates a list of the birthdays of the first 5 U.S. presidents in random order and puts them into sorted order. (Note: you can use Collections.sort() to sort your ArrayList after you implement the compareTo() method).

import java.util.*;

public class DateTest { public static void main(String[] args) {

ArrayList dates = new ArrayList();

dates.add(newDate(4,13,1743)); //Jefferson

dates.add(newDate(2,22,1732)); //Washington

dates.add(newDate(3,16,1751)); //Madison

dates.add(new Date(10, 30, 1735)); // Adams

dates.add(newDate(4,28,1758)); //Monroe

System.out.println("birthdays = " + dates);

Collections.sort(dates);

System.out.println("birthdays = " + dates);

}

}

When you execute the following code it should print: birthdays = [4/13/1743, 2/22/1732, 3/16/1751, 10/30/1735, 4/28/1758]

birthdays = [2/22/1732, 10/30/1735, 4/13/1743, 3/16/1751, 4/28/1758]

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!