Question
JAVA Programming In this assignment, youll read in dates from a .txt file, load an array of type Date objects, sort the array and write
JAVA Programming
In this assignment, youll read in dates from a .txt file, load an array of type Date objects, sort the array and write the Date values out to another text file.
Design a program that will read in dates from a file. The filename will be user-entered. The dates read from the file will be in the following format: month/day/year where month and day are 1 or 2 digits and year is 4 digits (note: the file will also contain the /'s - e.g. 3/24/2017) Proper date format is guaranteed, so no error checking is required.
Store each date in a Date object created from a Date class that you create (no java API classes like Calendar may be used.) Your Date class should contain a Day object, a Month object, and a Year object. This means you will also need to create Day, Month, and Year classes.
The Day class should have the following behaviors:
-set the day (day number) -get the day number -return information on the day via toString (your toString should override the one inherited from Object) -compare days for equality (by overriding the equals method inherited from Object) construct a day-
The Month and Year classes should have similar methods to the Day class. You are welcome to provide other behaviors for each class, but make sure they make sense in the context of that class.
The Date class should the following behaviors: -set the date -get the date -display information on the Date via toString (override the toString inherited from Object): In the following format: Month as a word, the day and the year. Example: September 27 2013 Extra Credit: if the toString includes the day of the week, the month of the year, the year, and the day number of the year (e.g. Thursday, September 27, 2017, day 270 of the year) -compare dates for equality (by overriding the equals method inherited from Object) -sort dates by year, then month, then day (overrides the compareTo method from the Comparable interface) -An EVC (the parameters to the constructor should be three integers) -A DVC (defaults to 1 1 1970 as its date)
Provide error checking to ensure any data assigned to any objects of the three classes falls in a reasonable range.
Create a tester file called DateTester that contains the main method as well as other methods to test the program as specified above. Provide other methods to perform specific tasks (display the menu, get input from user, etc.). The program flow should be implemented as follows:
-obtaining the input filename from the user -read the file (use your FileUtil class to open the file) -count the dates -create an array of Date references that matches the count -fill the array with the Date objects -sort the array (use your SortSearchUtil class for sorting type Comparable)
display a menu that allows the following choices:
1)Print the array of dates -To the screen -To a file if the user wants. You will need to prompt the user for the file name.
2)Allow the user to search for a date Date will be user entered
3)Allow the user to add a date will need to make a new array and copy over the dates and then re-sort
4)Allow the user to delete a date (by value) will need to make a new array and copy over the dates
5)Quit
This menu should be displayed repetitively until the user chooses to quit
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started