View the step-by-step solution to:

Objectives:

Objectives:
This assignment aims to use Java skills or concepts including:

* Exceptions
* modulus operator
* Classes
* User defined methods
* Input/Output Expressions

Task:
Write a program that converts dates from numerical from numerical month/day/year format to normal ''month day year format (for example 12/25/2009 corresponds to December 25, 2009).
Exceptions:
You will define three exception classes, one called MonthException, one called DayException, and one called YearException.

If the user enters anything other than a legal month number (integers from 1 to 12), your program will throw and catch a MonthException and ask the user to re-enter the month.

If the user enters anything other than a legal day number (integers from 1 to 28, 29, 30, 31 depending on the month and the year), your program will throw and catch a DayException and ask the user to re-enter the day.

If the user enters a year that is not in the range 1000 to 3000 inclusive, then your program will throw and catch a YearException and ask the user to re-enter the year.

Examples:
File listing

% ls
DateDemo.java DayException.java YearException.java
Date.java MonthException.java

Compile the Program

% javac *.java
%

Example1:
(Note: user entered values are in bold.)

% java DateDemo
Enter date to parse (MM/DD/YYYY format):
13/02/1999
Invalid month. Reenter a valid month:
12
Parsed date: December 2, 1999
%

Example2:

% java DateDemo
Enter date to parse (MM/DD/YYYY format):
12/44/2001
Invalid day. Reenter a valid day:
12
Parsed date: December 12, 2001
%

Example3:

% java DateDemo
Enter date to parse (MM/DD/YYYY format):
13/48/5000
Invalid month. Reenter a valid month:
12
Invalid day. Reenter a valid day:
14
Invalid year. Reenter a valid year:
1999
Parsed date: December 14, 1999
%

The Program
The program will be composed of 5 files:

1. DateDemo.java
* this class will contain the main method
2. Date.java
* this class will contain the three private variables to store a date.
* the methods needed to access and set them and manipulate them. e.g., a method that determines whether or not the year in question is a leap year.
3. DayException.java
4. MonthException.java
5. YearException.java

Important Notes

* Test your program on turing - that is where it will be marked.
* You must comment your program well. The program must be readable as well.

Submitting This Assignment

Your assignment must be submitted using the submit program

* This assignment is assignment a4
* You will need to submit five files for this assignment:
*
1. DateDemo.java
2. DayException.java
3. YearException.java
4. Date.java
5. MonthException.java

Recently Asked Questions

Why Join Course Hero?

Course Hero has all the homework and study help you need to succeed! We’ve got course-specific notes, study guides, and practice tests along with expert tutors.

-

Educational Resources
  • -

    Study Documents

    Find the best study resources around, tagged to your specific courses. Share your own to gain free Course Hero access.

    Browse Documents
  • -

    Question & Answers

    Get one-on-one homework help from our expert tutors—available online 24/7. Ask your own questions or browse existing Q&A threads. Satisfaction guaranteed!

    Ask a Question