import java.util.*; public class LookOutApp { public static Scanner sn = new Scanner(System.in); public static int menu() { System.out.println("1. Print Summary of all tasks" + '\n' + "2. Print Description and Deadline of next task" + '\n' + "3. Remove next task" + '\n' + "4. Add task to list" + '\n' + "5. Save data" + '\n' + "6. Restore from disk" + '\n' + "7. Quit"); int input = 0; do { System.out.println("Enter option 1-7"); input = sn.nextInt(); } while (input < 1 || input > 7); return input; } public static void main(String[] args) { boolean runApp = true; int input = 0; TaskList tasks; System.out .println("Please select a task list structure" + '\n' + "1. Stack" + '\n' + "2. FIFO" + '\n' + "3. Priority Sequence"); do { System.out.println("Enter a number 1-3"); input = sn.nextInt(); } while (input != 1 && input != 2 && input != 3); if (input == 1) tasks = new TaskStack(); else if (input == 2) tasks = new TaskFifo(); else tasks = new TaskPrioritySequence(); do { switch (menu()) { case 1: if (tasks.isEmpty()) { System.out.println("No tasks currently in list"); } else { Task[] temp = tasks.allTasks(); for (int i = 0; i < temp.length-1; i++) { System.out.println(temp[i].toString()); } } break; case 2: if (tasks.isEmpty()) { System.out.println("No tasks currently in list"); } else { System.out.println(tasks.nextTask().toString()); } break; case 3: if (tasks.isEmpty()) { System.out.println("No tasks currently in list"); } else { tasks.removeNextTask(); } break; case 4: System.out.println("Please give a task description"); String description = sn.next(); String strIn; SimpleDate deadline; Task task; do { System.out.println("Enter y if you want a deadline or n if you do not."); strIn = sn.next(); } while (strIn.compareToIgnoreCase("y") != 0 && strIn.compareToIgnoreCase("n") != 0); if (strIn.compareToIgnoreCase("y") == 0) { do { System.out.println("Enter valid year"); int year = sn.nextInt(); System.out.println("Enter valid month"); int month = sn.nextInt(); System.out.println("Enter valid day"); int day = sn.nextInt(); deadline = new SimpleDate(year, month, day); } while (deadline.isValid() != true); task=new Task(description,deadline); } else task=new Task(description); tasks.addTask(task); break; case 5: System.out.println("Please enter a file name."); TaskUtility.saveTasksToFile(sn.next(), tasks.allTasks()); if (TaskUtility.saveTasksToFile(sn.next(), tasks.allTasks())) System.out.println("Save successful"); else System.out.println("Save not successful"); break; case 6: System.out.println("Please enter a file name."); Task[] temp = TaskUtility.readTasksFromFile(sn.next()); if (temp == null) System.out.println("Save not successful"); else tasks.initWithTasks(temp); break; case 7: runApp = false; break; } } while (runApp); } }