Programming 5
a. Set the month
b. Set the day
c. Set the year
d. Return the month
e. Return the day
f. Return the year
g. Tests whether a year is a leap year
h. Return the number of days in the month. For example, if the day is 3 – 12 – 2015, the number of days to be returned is 31, because there are 31 days in March.
i. Return the number of days passed in the year. For example, if the date is 3 – 18 – 2015, the number of days past in the year is 77. Note that the number of days returned also includes the current day.
j. Return the number of days remaining in year. For example, if the date is 3 – 18 – 2015, the number of days remaining in the year is 288.
k. Calculate the new date by adding a fixed number of days to the date. For example, if the date is 3 – 18 – 2015 and the days to be added on 25, the new date is 4 – 12 – 2015.
l. Return a reference to the object containing a copy of the date.
m. Make a copy of another date.Given a reference to an object containing a date, copy the data members of the object into the corresponding data members of this object.
n. Write the definitions of the methods to implement the operations defined for the class Date.
Exercise 2 Answer
//Data.java
public class Date {
private int dMonth; //variable to store the month
private int dDay; // variable to store the day
private int dYear; // variable to store the year
// default constructor
// The instant variables dMonth, dDay,dYear are set to
// the default values.
// Postcondition; dMonth = 1; dDay = 1; dYear = 1900;
public Date () {
dMonth = 1;
dDay = 1;
dYear = 1900;
}
/**
* a method isLeapYear to check whether a year is a leap year
* @param year
* @return
*/
public boolean isLeapYear(int year) {
// Check if the year is a leap year
return (((year % 4 == 0) && (year % 100 != 0)) || ((year % 100 == 0) && (year % 400 == 0))) ;
}
// Constructor to set the date
// The instance variables dMonth, dDay, and dYear are set
// according to the parameters.
// Postcondition: DMonth = month; dDay = day;
// dYear = year;
public Date(int month, int day, int year) {
setDate(month, day, year);
}
// Method to set the date
// The instance variables DMonth, dDay. and dYear are set
// according to the parameters.
//Postcondition ; dMonth, = month ; dDay = day ;
// dYear = year ;
public void setDate(int month, int day, int year) {
int[] days={31,28,31, 30,31,30,31,31,30,31,30,31};
//if leap year
if(isLeapYear(year)){
days[1]=29;
}
if(month<1 || month>12) {
System.out.println(“Month is not valid. It should be between 1 and 12 inclusive!”);
return;
}
if(day<1 || day>days[month-1]) {
System.out.println(“Day is invalid. It should be between 1 and “+days[month-1]+” inclusive!”);
return;
}
dMonth = month;
dDay = day;
dYear = year;
}
//Method to return the month
// Postcondition: The value of dMonth is returned.
public int getMonth() {
return dMonth;
}
// Method to return the day
// Postcondition: value of dDay is returned.
public int getDay() {
return dDay;
}
// Method to return the year
// Postcondition: the value of dYear is returned.
public int getYear() {
return dYear;
}
// Method to return the date in the form mm-dd-yyyy
public String toString() {
return (dMonth + ” – ” + dDay + ” – ” + dYear);
}
}
Delivering a high-quality product at a reasonable price is not enough anymore.
That’s why we have developed 5 beneficial guarantees that will make your experience with our service enjoyable, easy, and safe.
You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.
Read moreEach paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.
Read moreThanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.
Read moreYour email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.
Read moreBy sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.
Read more