Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write a Java class called Date that includes three fields year, month and day. T

ID: 3819696 • Letter: W

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 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<Date> dates = new ArrayList<Date>();

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]

Explanation / Answer

DateTest.java


import java.util.*;
public class DateTest {
public static void main(String[] args) {
ArrayList<Date> dates = new ArrayList<Date>();
dates.add(new Date(4,13,1743)); //Jefferson
dates.add(new Date(2,22,1732)); //Washington
dates.add(new Date(3,16,1751)); //Madison
dates.add(new Date(10, 30, 1735)); // Adams
dates.add(new Date(4,28,1758)); //Monroe
System.out.println("birthdays = " + dates);
Collections.sort(dates);
System.out.println("birthdays = " + dates);
}
}

Date.java

public class Date implements Comparable<Date>{
private int day,year,month;
public Date(int day, int month, int year) {
   this.day = day;
   this.month = month;
   this.year = year;
}
public int getDay() {
   return day;
}
public void setDay(int day) {
   this.day = day;
}
public int getYear() {
   return year;
}
public void setYear(int year) {
   this.year = year;
}
public int getMonth() {
   return month;
}
public void setMonth(int month) {
   this.month = month;
}
public int compareTo(Date o) {
   return year-o.year;
}
public String toString() {
   return day+"/"+ month+"/"+year;
}

}

Output:

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]

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote