Question
Problem You are to write an application that will work as a To Do List organizer. Your application should work with the following information for
Problem You are to write an application that will work as a To Do List organizer. Your application should work with the following information for each list item: description of item, priority of item, date the item is due, status for completed. You may have more features if you choose, but you must have the minimum of the previous mentioned. Your application should be able to do the following: load a list from a file selected by the user, save a list to a file, add a item to the list, modify an item in the list, remove an item from the list, sort the items by priority, sort the items by due date, and filter out completed items (show only non-completed items). Your list may do more, but the above mentioned is the minimum.
You may setup your application any way you would like as long as you follow any of the requirements listed in the requirement section.
Input
You should have two sources of input: user input from the keyboard and input from a saved file. Since you are deciding the file format for your application, you should provide a saved file that can be used to load in a list.
Output
You should provide output to the monitor and to a saved file. The format of the file saved is your choice.
Requirements
You should write your code in Java. You may used the Linked List and List Interface files that we discussed in class or you may use the List from the Java API. However, you must use a list. You should have a class for the ToDoList and a class for the ToDoList items. You also need a class with main that actually drives your program. In my solution, I had the following classes: Task, ToDoList and ToDoListDriver. You do not need to have these exact classes. You should also write a readme file that describes the following: anything special that needs to be done to build your program, an explanation of your save/load file format, and an explanation of how to use your application.
Sample Output
-------- TO DO LIST --------
----- TO DO LIST MENU -----
1. Add a new task
2. Modify a task
3. Remove a task
4. Display tasks by priority
5. Display tasks by due date
6. Filter/Unfilter complete tasks
7. Save To Do List
8. Load To Do List
9. Quit Program Enter option (1-9): 8
Load a file Enter the name of the file to load: mylist.txt File
loaded successfully
Press any key to continue . . .
|-------------- Command Separator -------- Not part of program output --------------|
-------- TO DO LIST --------
1: Item One | Low | October 7, 2017 | Not completed
2: Task Two | Urgent | October 14, 2017 | Not completed
3: Task Three | Moderate | November 1, 2017 | Not completed
4: Task Four | High | October 25, 2017 | Not completed
----- TO DO LIST MENU -----
1. Add a new task
2. Modify a task
3. Remove a task
4. Display tasks by priority
5. Display tasks by due date
6. Filter/Unfilter complete tasks
7. Save To Do List
8. Load To Do List
9. Quit Program Enter option (1-9): 1
Add a task to the list Enter text for the task: Task Five
Enter month day year of due date as integers i.e. (1 1 2017): 11 14 2017
Enter priority of task (1 - Low, 2 - Moderate, 3 - High, 4 - Urgent): 2
Press any key to continue . . .
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