Question: #8978

Program Chapter 15

Program Chapter 15


Grading Information: This Program is due on Sunday at Midnight. Comments are REQUIRED; flow charts and Pseudocode are NOT


REQUIRED.
Directions Weight
The files must be named as follows: <LastNameFirstNameDateDriver.java>.
Example: DeweyKenDateDriver.java (driver program)
Date.java (Date class file)
Ensure you include ALL files required to make your program compile and run.
I would like to see your .java files only.
Proper coding conventions required the first letter of the class start with a capital
letter and the first letter of each additional word start with a capital letter.
5%
Overall Requirements
Create a class named Date that stores date values and prints out the date in either a
pure numeric format or a name and number format (see sample session for format
details).
Date.java class file
• Date objects should store the date in two int instance variables ─ day and
month, and it should include the String instance variable, error, initialized with
null.
• Implement a 1-parameter Date constructor that receives a dateStr string
parameter and performs complete error checking on the given dateStr value.
The Date constructor is the entity that’s responsible for date error checking.
That way, if a Date object is instantiated and if there are no errors, then you’re
guaranteed that the Date object holds a legitimate date value. If any kind of
error occurs, change the value of the error instance variable to a non-null string
value, using an appropriate concatenation of a string constant, input substring,
and/or API exception message.
• Constructors use the same exception handling rules as methods: In a try block,
include the parsing of the month and day substrings and other error-checking
logic that will not work if parsing fails.
• Take into account the actual number of days in each month, but assume that
there are always 28 days in February.
• To extract day and month numbers from the given date string, use String’s
indexOf method to find the location of the slash character, and String’s
50%
substring method to extract month and day substrings from the input string.
• Include a method for printing the date with a numeric format. Use the zero-pad
flag in a printf method call to get exactly two digits for each month and day.
• Include a method for printing the date with an alphabetic format.
• Include a getError method which returns the value of the error instance
variable.
LastNameFirstNameDateDriver.java class file
In your driver class, include a loop that repeatedly:
• Asks the user to enter a date or “q” to quit.
• If the entry is not “q”, instantiate a Date object.
• If the error variable is null:
o Print the date using numeric format.
o Print the date using alphabetic format.
o Otherwise, print the value of the error variable.
35%
Comments / Flow Chart / Pseudocode / Style
Comments are REQUIRED; flow charts and Pseudocode are NOT REQUIRED.
Proper coding style is REQUIRED. Refer to the JavaCodingStyle.doc in Doc Sharing for more
information.
10%
Upload your page to the Dropbox.
NOTE: Complete your activity and submit it to the Dropbox.
Total Points 100%
Sample Session:
Enter a date in the form mm/dd ("q" to quit): 5/2
05/02
May 2
Enter a date in the form mm/dd ("q" to quit): 05/02
05/02
May 2
Enter a date in the form mm/dd ("q" to quit): 52
Invalid date format – 52
Enter a date in the form mm/dd ("q" to quit): 5.0/2
Invalid format - For input string: "5.0"
Enter a date in the form mm/dd ("q" to quit): 13/2
Invalid month – 13
Enter a date in the form mm/dd ("q" to quit): 2/x
Invalid format - For input string: "x"
Enter a date in the form mm/dd ("q" to quit): 2/30
Invalid day – 30
Enter a date in the form mm/dd ("q" to quit): 2/28
02/28
February 28
Enter a date in the form mm/dd ("q" to quit): q

Solution: #9009

Program Chapter 15 Complete Solution

/* * To change this license header, choose Licen...
Tutormaster
Rating: A+ Purchased: 11 x Posted By: Number1tutor
Comments
Posted by: Number1tutor

Online Users