Question: Dates Part 1 Done in Java. Here is the Skeleton Code /** * Assignment 5 for CS 1410 * This program demonstrates the use of

Dates Part 1 Done in Java.

Dates Part 1 Done in Java. Here is the Skeleton Code /**

* Assignment 5 for CS 1410 * This program demonstrates the use

of the GregorianDate and JulianDate classes * * @author James Dean Mathias

*/ public class Assign5 { public static void main(String[] args) { System.out.printf("---

Demonstrating Julian Dates --- "); demoJulianFromToday(); JulianDate futureYear = new JulianDate(2100, 2,

Here is the Skeleton Code

/** * Assignment 5 for CS 1410 * This program demonstrates the use of the GregorianDate and JulianDate classes * * @author James Dean Mathias */ public class Assign5 { public static void main(String[] args) { System.out.printf("--- Demonstrating Julian Dates --- "); demoJulianFromToday(); JulianDate futureYear = new JulianDate(2100, 2, 27); demoDateJulian2(futureYear); JulianDate leapYear = new JulianDate(2000, 2, 27); demoDateJulian2(leapYear); JulianDate notLeapYear = new JulianDate(2001, 2, 27); demoDateJulian2(notLeapYear); JulianDate endOfYear = new JulianDate(1999, 12, 30); demoDateJulian2(endOfYear); System.out.printf(" --- Demonstrating Gregorian Dates --- "); demoGregorianFromToday(); GregorianDate futureYearG = new GregorianDate(2100, 2, 27); demoDateGregorian2(futureYearG); GregorianDate leapYearG = new GregorianDate(2000, 2, 27); demoDateGregorian2(leapYearG); GregorianDate notLeapYearG = new GregorianDate(2001, 2, 27); demoDateGregorian2(notLeapYearG); GregorianDate endOfYearG = new GregorianDate(1999, 12, 30); demoDateGregorian2(endOfYearG); } /** * @brief Helper method use to exercise the capabilities of a concrete JulianDate class constructed from the * default constructor (today). * * @author James Dean Mathias */ public static void demoJulianFromToday() { JulianDate date = new JulianDate(); System.out.print("Today's date is : "); date.printLongDate(); System.out.println(); date.addDays(1); System.out.print("Tomorrow will be : "); date.printLongDate(); System.out.println(); date.subtractDays(2); System.out.print("Yesterday was : "); date.printLongDate(); System.out.println(); if (date.isLeapYear()) { System.out.println("This year is a leap year!"); } else { System.out.println("This year is not a leap year."); } } /** * @brief Helper method use to exercise the capabilities of a concrete GregorianDate class constructed from the * default constructor (today). * * @author James Dean Mathias */ public static void demoGregorianFromToday() { GregorianDate date = new GregorianDate(); System.out.print("Today's date is : "); date.printLongDate(); System.out.println(); date.addDays(1); System.out.print("Tomorrow will be : "); date.printLongDate(); System.out.println(); date.subtractDays(2); System.out.print("Yesterday was : "); date.printLongDate(); System.out.println(); if (date.isLeapYear()) { System.out.println("This year is a leap year!"); } else { System.out.println("This year is not a leap year."); } } /** * Helper method use to exercise the capabilities of the JulianDate class. * * @author James Dean Mathias */ public static void demoDateJulian2(JulianDate date) { System.out.println(); System.out.print("Demonstrating: "); date.printShortDate(); System.out.println(); System.out.print("Adding 1 day to the date : "); date.addDays(1); date.printShortDate(); System.out.println(); System.out.print("Adding another day : "); date.addDays(1); date.printShortDate(); System.out.println(); System.out.print("Just one more day : "); date.addDays(1); date.printShortDate(); System.out.println(); System.out.print("Going backwards by 2 days : "); date.subtractDays(2); date.printShortDate(); System.out.println(); } /** * Helper method use to exercise the capabilities of the GregorianDate class. * * @author James Dean Mathias */ public static void demoDateGregorian2(GregorianDate date) { System.out.println(); System.out.print("Demonstrating: "); date.printShortDate(); System.out.println(); System.out.print("Adding 1 day to the date : "); date.addDays(1); date.printShortDate(); System.out.println(); System.out.print("Adding another day : "); date.addDays(1); date.printShortDate(); System.out.println(); System.out.print("Just one more day : "); date.addDays(1); date.printShortDate(); System.out.println(); System.out.print("Going backwards by 2 days : "); date.subtractDays(2); date.printShortDate(); System.out.println(); } } 

27); demoDateJulian2(futureYear); JulianDate leapYear = new JulianDate(2000, 2, 27); demoDateJulian2(leapYear); JulianDate notLeapYear

Gregorian Test Code

import org.junit.Assert; import java.util.Calendar; import java.util.GregorianCalendar; public class GregorianDateTest { /** * @brief This test verifies that the default constructor successfully sets the current day, month, and year */ @org.junit.Test public void GregorianDateTestDefaultConstructor() { GregorianDate date = new GregorianDate(); GregorianCalendar today = new GregorianCalendar(); today.setGregorianChange(new java.util.Date(Long.MIN_VALUE)); Assert.assertEquals(today.get(Calendar.YEAR), date.getCurrentYear()); Assert.assertEquals(today.get(Calendar.MONTH) + 1, date.getCurrentMonth()); Assert.assertEquals(today.getDisplayName(Calendar.MONTH, Calendar.LONG, new java.util.Locale("en","US")), date.getCurrentMonthName()); Assert.assertEquals(today.get(Calendar.DAY_OF_MONTH), date.getCurrentDayOfMonth()); } /** * @brief This test checks that the constructor correctly sets the year, month, and day */ @org.junit.Test public void GregorianDateTestConstructorWithParameters() { int year = 2016; int month = 4; int day = 25; GregorianDate date = new GregorianDate(year, month, day); Assert.assertEquals(year, date.getCurrentYear()); Assert.assertEquals(month, date.getCurrentMonth()); Assert.assertEquals("April", date.getCurrentMonthName()); Assert.assertEquals(day, date.getCurrentDayOfMonth()); } /** * @brief This test adds days from a known date to jump days, months, and years */ @org.junit.Test public void GregorianDateTestAddDaysMethod() { int year = 2016; int month = 4; int day = 15; // Test an increase in days for (int i = 0; i  

Julian Test Code

import org.junit.Assert; import java.util.Calendar; import java.util.GregorianCalendar; public class JulianDateTest { /** * @brief Tests that the default constructor correctly calculates today */ @org.junit.Test public void JulianDateTestDefaultConstructor() { JulianDate date = new JulianDate(); GregorianCalendar today = new GregorianCalendar(); today.setGregorianChange(new java.util.Date(Long.MAX_VALUE)); Assert.assertEquals(today.get(Calendar.YEAR), date.getCurrentYear()); Assert.assertEquals(today.get(Calendar.MONTH) + 1, date.getCurrentMonth()); Assert.assertEquals(today.getDisplayName(Calendar.MONTH, Calendar.LONG, new java.util.Locale("en","US")), date.getCurrentMonthName()); Assert.assertEquals(today.get(Calendar.DAY_OF_MONTH), date.getCurrentDayOfMonth()); } /** * @brief Tests that the constructor correctly sets day, month, and year */ @org.junit.Test public void JulianDateTestConstructorWithParameters() { int year = 2026; int month = 5; int day = 15; GregorianDate date = new GregorianDate(year, month, day); Assert.assertEquals(year, date.getCurrentYear()); Assert.assertEquals(month, date.getCurrentMonth()); Assert.assertEquals("May", date.getCurrentMonthName()); Assert.assertEquals(day, date.getCurrentDayOfMonth()); } /** * @brief This test add days from a known date to jump days, months, and years */ @org.junit.Test public void JulianDateTestAddDaysMethod() { int year = 2016; int month = 4; int day = 15; // Test an increase in days for (int i = 0; i   Assignment This is the first assignment in a two-part series. The overall goal is to create a set of classes that are capable of managing and displaying dates by the Gregorian and Julian calendars. The purpose of these two assignments is to have you learn about creating classes, encapsulation, abstraction, and polymorphism. The first in the series takes a naive view of creating classes, resulting in a program that has a lot of duplicated code. Then, in the second part, you'll clean up all of the duplication through the use of the Java programming language features, making a big improvement of the first assignment in the series. Many calendars have been in use throughout human history, depending upon the culture and time. Two that have most impacted western civilization are the Julian and Gregorian calendars. The Julian calendar was in use for many centuries, but has a problem in that it "gains" about three days every four centuries. The Gregorian calendar, more or less, solves this problem by changing how it computes leap years to better account for the time it takes the Earth to complete a full orbit. Both calendars have the same months and number of days in each month, including 29 days in February on leap years. As noted above, the Gregorian calendar has a different rule for computing leap years. Additionally, the first valid date for the Gregorian calendar is October 15, 1582. For the purposes of this assignment, we are mostly interested in the difference in how leap years are determined, and using that, want to represent dates using both calendars. For example, today (when I'm writing this) on the Gregorian calendar is October 4th, 2018, but on the Julian calendar is September 21st, 2018. Details The following details the requirements for the assignment: * Create two classes, GregorianDate and dulianDate. The two date classes must expose only the following public instance methods and constructors, and provides an implementation that is appropriate for the calendar: te s notes below about dates to helo you fgure out how to do hs bp  Default constructor that sets the date to the current date. See notes below about dates to help you figure out how to do this appropriately for each calendar. e Overloaded constructor that takes year, month, and date values and sets the date to that date: SregorianDate int year, int nonth, int day) and uliandate int year, int month, int ay o A method that adds a specified number of days to the date: void addDays(int days) r nt rer, knt mesth, t ) - Remember to track when the month and years change o A method that subtracts a specified number of days to the date: (woio subtractoays(int days) - Remember to track when the month and years change o A method that returns true/false if the date is part of a leap year: (boolean isLeapyear o A method that prints the date (without a carriage return) in mm/dd/yyyy format:(vold printshortpate) o A method that prints the date (without a carriage return) in Monthname dd, yyyy format: void printlongDate o The following 'get' accessor methods. These aren't used by the sample driver code, but would normally be part of a class like this. These accessor methods are used by the unit tests. Note the word "current" doesn't mean "today", it means whatever the value is represented by the date, it is the "current value" of the date. string getcurrentHonthuame) int getcurrentyearco int Store the year, month, and day values as private instance (non-static) data members of the class. The two date classes must provide only the following private methods, which you'll use in support of the other public instance methods: o A method that returns true/false if a a specified year is a leap year: boolean 1sLeapyear(int year) o A method that returns the number of days in a month (for a year): Ent sethumberofDays Inkanth(nt year, int month) e A method that returns the name of a month; first letter capitalized, remainder lowercase: String setMonthliane(int month) The provided skeleton project contains code in the Assign5.java file that exercises all of the features of both classes. You'll want to first comment this code and slowly uncomment as you build up your classes In thinking about how to write the code for this assignment, follow the concepts you learned from Stepwise Refinement and bottom up implementation. The Stepwise Refinement has been done for you, that is the various methods you are required to write are detailed above. Your responsibility is the bottom up implementation. Stub in the required methods, returning dummy values until you are able to write the correct implementation. Start with the base methods, such as the boolean isLeapyeer (int year) method and build up from there. Write small tests in the mein method to test each method as you go. Don't move on to another method until you have the one you are currently working on correctly implemented. In other words, build up your code slowly, one method at a time and validating as you go, rather than trying to write all of the methods and then debugeing afterwards. Helpful Information About Dates Leap years (https:/en wikipedia org/wiki/Lcap year ) o Julian calendar: If the remainder of the year when divided by 4 is 0  Gregorian calendar from wiki link above) Every year that is exactly divisible by four is a leap year, except for years that are exactly divisible by 100 but these centurial years are leap years if they are exactly divisible by 400 . Use systen.currenttimeillis) to obtain the number of milliseconds that have occurred since January 1, 1970. The number returned from this method does not account for the time zone of the computer it is running on, you need to account for that. To get the time zone offset to correct for local time you can call java.util.Timezone.getoefault).getRawoffset() This gives the number of milliseconds to "add" to the current time. I say "add because it is a negative number, it is the offset you need. o For a Gregorian date, you can use this knowledge to start by initializing a date to 1/1/1970, then adding the number of days the number of milliseconds since then have taken place; remember to account for the time zone as described above. For a Julian date. you have to set the starting date to January 1, 1 (1/1/1), then add in the number of days until (Gregorian) January 1, 1970, then, update the date with the number of milliseconds since 1/1/1970; of course, remember to account for the time zone as described above. The number of Julian days from 1/1/1 to 1/1/1970 is 719164. Here is a handy reference to compute the number of days between two dates: http://www.csgnetwork.com/juliancountdaysfromtocalc.html e The following are some links that provide additional information about the two calendars. You don't need any of these, just providing them for information purposes, if you are interested in learning more about the calendars. Julian calendar wiki: linke . Gregorian calendar wiki: link e Converting between Julian and Gregorian calendar dates: link e .Online Julian date converter:link e .Leap year wiki: link The provided driver code will produce output like the following, depending, of course, on which day you run your code: Demonstrating Julian Dates - Today's date is February 7, 2819 Tomorrow will be: February 8, 2819 Yesterday was February 6, 2819 This year is not a leap year Demonstrating: 2/27/2186 Adding 1 day to the date Adding another day Just one more day Going backwards by 2 days : 2/28/2188 : 2/29/2108 :3/1/2180 :2/28/2198 Demonstrating: 2/27/280 Adding 1 day to the date Adding another day ust one more day Going backwards by 2 days : 2/28/2808 : 2/29/2808 : 3/1/288 : 2/28/2808 Demonstrating: 2/27/2881 Adding 1 day to the date Adding another day Just one more day Going backwards by 2 days : 2/28/2881 : 3/1/2801 : 3/2/2801 Demonstrating: 12/38/1999 Adding 1 day to the date Adding another day Just one more day Going backwards by 2 days : 12/31/1999 :1/1/288 : 1/2/2880 : 12/31/1999 -Demonstrating Gregorian Dates - Today's date is : February 28, 2019 Tomorrow will be: February 21, 2819 Yesterday was February 19, 2819 This year is not a leap year Demonstrating: 2/27/218 Adding 1 day to the date Adding another day Just one more day Going backwards by 2 days : 2/28/2188 : 3/1/2186 :3/2/2186 2/28/218e Demonstrating: 2/27/28ee Adding 1 day to the date Adding another day ust one more day Going backwards by 2 days : 2/28/2808 : 2/29/2808 : 3/1/2880 2/28/288 Demonstrating: 2/27/2801 Adding 1 day to the date Adding another day Just one more day Going backwards by 2 days: 2/28/2881 : 2/28/2801 : 3/1/2881 : 3/2/2801 Demonstrating: 12/38/1999 Adding i day to the date Adding another day Just one more day Going backwards by 2 days : 12/31/1999 : 1/1/2880 : 1/2/288 : 12/31/1999 Unit Tests You are provided unit tests that help you know if your code is correct. These tests cover key elements of your code, but aren't exhaustive. However, if you pass all of them, your code is probably correct. Notes Turn You are provided with a skeleton project to work from that has JUnit setup and includes the unit tests for this assignment. The project can be found at this link: link You can't use the built-in Date, Calendar, or GregorianCalendar classes as part of the code you write. in two Java source files named GregorianDate.java and JulianDate.java Your code should pass all provided unit tests (see grading rubric). A page describing unit tests using JUnit within IntelliJ is located here (this will also be demonstrated in class) . Your code must compile with zero errors and warnings. See syllabus regarding submitting code that has compile errors. . Your code must adhere to the CS 1410 coding standard: link Java SDK Docs: linke Assignment 5 - Grading Criteria Criteria Ratings Pts Compiles without any warnings 2.0 pts Full Marks 0.0 pts No Marks 2.0 pts Passes all unit tests 2.0 pts Full Marks 0.0 pts No Marks 2.0 pts Follows required course code style 2.0 pts Full Marks 0.0 pts No Marks 2.0 pts Default constructors 6.0 pts Full Marks 0.0 pts No Marks 6.0 pts Overloaded constructors 4.0 pts Full Marks 0.0 pts No Marks 4.0 pts addDays methods 6.0 pts Full Marks 0.0 pts No Marks 6.0 pts subtractDays methods 6.0 pts Full Marks 0.0 pts No Marks 6.0 pts Short date printing 4.0 pts Full Marks 0.0 pts No Marks 4.0 pts Long date printing 5.0 pts Full Marks 0.0 pts No Marks 5.0 pts Leap year computation 4.0 pts Full Marks 0.0 pts No Marks 4.0 pts Valid number of days in month 4.0 pts Full Marks 0.0 pts No Marks 4.0 pts Total Points: 45.0  Assignment This is the first assignment in a two-part series. The overall goal is to create a set of classes that are capable of managing and displaying dates by the Gregorian and Julian calendars. The purpose of these two assignments is to have you learn about creating classes, encapsulation, abstraction, and polymorphism. The first in the series takes a naive view of creating classes, resulting in a program that has a lot of duplicated code. Then, in the second part, you'll clean up all of the duplication through the use of the Java programming language features, making a big improvement of the first assignment in the series. Many calendars have been in use throughout human history, depending upon the culture and time. Two that have most impacted western civilization are the Julian and Gregorian calendars. The Julian calendar was in use for many centuries, but has a problem in that it "gains" about three days every four centuries. The Gregorian calendar, more or less, solves this problem by changing how it computes leap years to better account for the time it takes the Earth to complete a full orbit. Both calendars have the same months and number of days in each month, including 29 days in February on leap years. As noted above, the Gregorian calendar has a different rule for computing leap years. Additionally, the first valid date for the Gregorian calendar is October 15, 1582. For the purposes of this assignment, we are mostly interested in the difference in how leap years are determined, and using that, want to represent dates using both calendars. For example, today (when I'm writing this) on the Gregorian calendar is October 4th, 2018, but on the Julian calendar is September 21st, 2018. Details The following details the requirements for the assignment: * Create two classes, GregorianDate and dulianDate. The two date classes must expose only the following public instance methods and constructors, and provides an implementation that is appropriate for the calendar: te s notes below about dates to helo you fgure out how to do hs bp  Default constructor that sets the date to the current date. See notes below about dates to help you figure out how to do this appropriately for each calendar. e Overloaded constructor that takes year, month, and date values and sets the date to that date: SregorianDate int year, int nonth, int day) and uliandate int year, int month, int ay o A method that adds a specified number of days to the date: void addDays(int days) r nt rer, knt mesth, t ) - Remember to track when the month and years change o A method that subtracts a specified number of days to the date: (woio subtractoays(int days) - Remember to track when the month and years change o A method that returns true/false if the date is part of a leap year: (boolean isLeapyear o A method that prints the date (without a carriage return) in mm/dd/yyyy format:(vold printshortpate) o A method that prints the date (without a carriage return) in Monthname dd, yyyy format: void printlongDate o The following 'get' accessor methods. These aren't used by the sample driver code, but would normally be part of a class like this. These accessor methods are used by the unit tests. Note the word "current" doesn't mean "today", it means whatever the value is represented by the date, it is the "current value" of the date. string getcurrentHonthuame) int getcurrentyearco int Store the year, month, and day values as private instance (non-static) data members of the class. The two date classes must provide only the following private methods, which you'll use in support of the other public instance methods: o A method that returns true/false if a a specified year is a leap year: boolean 1sLeapyear(int year) o A method that returns the number of days in a month (for a year): Ent sethumberofDays Inkanth(nt year, int month) e A method that returns the name of a month; first letter capitalized, remainder lowercase: String setMonthliane(int month) The provided skeleton project contains code in the Assign5.java file that exercises all of the features of both classes. You'll want to first comment this code and slowly uncomment as you build up your classes In thinking about how to write the code for this assignment, follow the concepts you learned from Stepwise Refinement and bottom up implementation. The Stepwise Refinement has been done for you, that is the various methods you are required to write are detailed above. Your responsibility is the bottom up implementation. Stub in the required methods, returning dummy values until you are able to write the correct implementation. Start with the base methods, such as the boolean isLeapyeer (int year) method and build up from there. Write small tests in the mein method to test each method as you go. Don't move on to another method until you have the one you are currently working on correctly implemented. In other words, build up your code slowly, one method at a time and validating as you go, rather than trying to write all of the methods and then debugeing afterwards. Helpful Information About Dates Leap years (https:/en wikipedia org/wiki/Lcap year ) o Julian calendar: If the remainder of the year when divided by 4 is 0  Gregorian calendar from wiki link above) Every year that is exactly divisible by four is a leap year, except for years that are exactly divisible by 100 but these centurial years are leap years if they are exactly divisible by 400 . Use systen.currenttimeillis) to obtain the number of milliseconds that have occurred since January 1, 1970. The number returned from this method does not account for the time zone of the computer it is running on, you need to account for that. To get the time zone offset to correct for local time you can call java.util.Timezone.getoefault).getRawoffset() This gives the number of milliseconds to "add" to the current time. I say "add because it is a negative number, it is the offset you need. o For a Gregorian date, you can use this knowledge to start by initializing a date to 1/1/1970, then adding the number of days the number of milliseconds since then have taken place; remember to account for the time zone as described above. For a Julian date. you have to set the starting date to January 1, 1 (1/1/1), then add in the number of days until (Gregorian) January 1, 1970, then, update the date with the number of milliseconds since 1/1/1970; of course, remember to account for the time zone as described above. The number of Julian days from 1/1/1 to 1/1/1970 is 719164. Here is a handy reference to compute the number of days between two dates: http://www.csgnetwork.com/juliancountdaysfromtocalc.html e The following are some links that provide additional information about the two calendars. You don't need any of these, just providing them for information purposes, if you are interested in learning more about the calendars. Julian calendar wiki: linke . Gregorian calendar wiki: link e Converting between Julian and Gregorian calendar dates: link e .Online Julian date converter:link e .Leap year wiki: link The provided driver code will produce output like the following, depending, of course, on which day you run your code: Demonstrating Julian Dates - Today's date is February 7, 2819 Tomorrow will be: February 8, 2819 Yesterday was February 6, 2819 This year is not a leap year Demonstrating: 2/27/2186 Adding 1 day to the date Adding another day Just one more day Going backwards by 2 days : 2/28/2188 : 2/29/2108 :3/1/2180 :2/28/2198 Demonstrating: 2/27/280 Adding 1 day to the date Adding another day ust one more day Going backwards by 2 days : 2/28/2808 : 2/29/2808 : 3/1/288 : 2/28/2808 Demonstrating: 2/27/2881 Adding 1 day to the date Adding another day Just one more day Going backwards by 2 days : 2/28/2881 : 3/1/2801 : 3/2/2801 Demonstrating: 12/38/1999 Adding 1 day to the date Adding another day Just one more day Going backwards by 2 days : 12/31/1999 :1/1/288 : 1/2/2880 : 12/31/1999 -Demonstrating Gregorian Dates - Today's date is : February 28, 2019 Tomorrow will be: February 21, 2819 Yesterday was February 19, 2819 This year is not a leap year Demonstrating: 2/27/218 Adding 1 day to the date Adding another day Just one more day Going backwards by 2 days : 2/28/2188 : 3/1/2186 :3/2/2186 2/28/218e Demonstrating: 2/27/28ee Adding 1 day to the date Adding another day ust one more day Going backwards by 2 days : 2/28/2808 : 2/29/2808 : 3/1/2880 2/28/288 Demonstrating: 2/27/2801 Adding 1 day to the date Adding another day Just one more day Going backwards by 2 days: 2/28/2881 : 2/28/2801 : 3/1/2881 : 3/2/2801 Demonstrating: 12/38/1999 Adding i day to the date Adding another day Just one more day Going backwards by 2 days : 12/31/1999 : 1/1/2880 : 1/2/288 : 12/31/1999 Unit Tests You are provided unit tests that help you know if your code is correct. These tests cover key elements of your code, but aren't exhaustive. However, if you pass all of them, your code is probably correct. Notes Turn You are provided with a skeleton project to work from that has JUnit setup and includes the unit tests for this assignment. The project can be found at this link: link You can't use the built-in Date, Calendar, or GregorianCalendar classes as part of the code you write. in two Java source files named GregorianDate.java and JulianDate.java Your code should pass all provided unit tests (see grading rubric). A page describing unit tests using JUnit within IntelliJ is located here (this will also be demonstrated in class) . Your code must compile with zero errors and warnings. See syllabus regarding submitting code that has compile errors. . Your code must adhere to the CS 1410 coding standard: link Java SDK Docs: linke Assignment 5 - Grading Criteria Criteria Ratings Pts Compiles without any warnings 2.0 pts Full Marks 0.0 pts No Marks 2.0 pts Passes all unit tests 2.0 pts Full Marks 0.0 pts No Marks 2.0 pts Follows required course code style 2.0 pts Full Marks 0.0 pts No Marks 2.0 pts Default constructors 6.0 pts Full Marks 0.0 pts No Marks 6.0 pts Overloaded constructors 4.0 pts Full Marks 0.0 pts No Marks 4.0 pts addDays methods 6.0 pts Full Marks 0.0 pts No Marks 6.0 pts subtractDays methods 6.0 pts Full Marks 0.0 pts No Marks 6.0 pts Short date printing 4.0 pts Full Marks 0.0 pts No Marks 4.0 pts Long date printing 5.0 pts Full Marks 0.0 pts No Marks 5.0 pts Leap year computation 4.0 pts Full Marks 0.0 pts No Marks 4.0 pts Valid number of days in month 4.0 pts Full Marks 0.0 pts No Marks 4.0 pts Total Points: 45.0

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!