Using a priority queue, create a To do list application. The goal of this assignment is to go from a high-level description of the application to a working implementation, so these instructions are purposely not going to outline what specific classes, methods, etc. to have.
Expected behavior and requirements
Using the command line or a GUI, allow the user to:
- enter tasks with due dates (e.g., 04-30-18)
- get (and remove) the task with the most imminent due date
Create documentation (at the very least a basic README.txt file) that explains what your program does and how to use it.
Here are some tips for how to create this program.
- Come up with your design:
- From the user perspective
- What does the expected interaction with the program look like? This is sometimes called storyboarding.
- From the implementation perspective
- What classes do you need?
- For each class, what properties and methods do you need?
- For the methods, write a javadoc comment and method declaration for the expected behavior/interaction.
- Create the skeleton files for your classes with stubs for methods.
- For each method:
- Write pseudocode for how to implement the expected behavior dictated by the javadoc comment.
- Your pseudocode becomes comments which you then implement with lines of code
- Test and debug!
- use your Assignment I: Heaps implementation or the java.util.PriorityQueue implementation
- you may want to refer to the java.util.Date and java.text.DateFormat classes
- you should be able to use the Java API to find all the information required to interact with these classes
- however, if you want a hint, here is some sample code that interacts with the user to get date information as input and create a Date instance