1. import java.util.ArrayList;
  2. import java.util.List;
  3. import java.util.Scanner;
  4. public class MaintenanceTaskTransformer {
  5. public static void main(String[] args) {
  6. Scanner scanner = new Scanner(System.in);
  7. List<Task> tasks = new ArrayList<>();
  8. while (true) {
  9. System.out.println("\nChoose an action:");
  10. System.out.println("1. Add Task");
  11. System.out.println("2. View Tasks");
  12. System.out.println("3. Save Tasks to File");
  13. System.out.println("4. Load Tasks from File");
  14. System.out.println("5. Transform Tasks (e.g., add priority)");
  15. System.out.println("6. Exit");
  16. int choice = scanner.nextInt();
  17. scanner.nextLine(); // Consume newline
  18. switch (choice) {
  19. case 1:
  20. addTask(tasks, scanner);
  21. break;
  22. case 2:
  23. viewTasks(tasks);
  24. break;
  25. case 3:
  26. saveTasks(tasks, scanner);
  27. break;
  28. case 4:
  29. loadTasks(tasks, scanner);
  30. break;
  31. case 5:
  32. transformTasks(tasks, scanner);
  33. break;
  34. case 6:
  35. System.out.println("Exiting...");
  36. scanner.close();
  37. return;
  38. default:
  39. System.out.println("Invalid choice. Please try again.");
  40. }
  41. }
  42. }
  43. static void addTask(List<Task> tasks, Scanner scanner) {
  44. System.out.print("Enter task description: ");
  45. String description = scanner.nextLine();
  46. System.out.print("Enter priority (High, Medium, Low): ");
  47. String priority = scanner.nextLine();
  48. Task newTask = new Task(description, priority);
  49. tasks.add(newTask);
  50. System.out.println("Task added.");
  51. }
  52. static void viewTasks(List<Task> tasks) {
  53. if (tasks.isEmpty()) {
  54. System.out.println("No tasks found.");
  55. return;
  56. }
  57. for (int i = 0; i < tasks.size(); i++) {
  58. System.out.println((i + 1) + ". " + tasks.get(i));
  59. }
  60. }
  61. static void saveTasks(List<Task> tasks, Scanner scanner) {
  62. System.out.print("Enter filename to save tasks: ");
  63. String filename = scanner.nextLine();
  64. //Implementation for saving to file.
  65. System.out.println("Tasks saved to " + filename);
  66. }
  67. static void loadTasks(List<Task> tasks, Scanner scanner) {
  68. System.out.print("Enter filename to load tasks: ");
  69. String filename = scanner.nextLine();
  70. //Implementation for loading from file.
  71. }
  72. static void transformTasks(List<Task> tasks, Scanner scanner) {
  73. System.out.println("Choose transformation:");
  74. System.out.println("1. Add Due Date");
  75. System.out.println("2. Add Status");
  76. System.out.println("Enter your choice:");
  77. int transformChoice = scanner.nextInt();
  78. scanner.nextLine(); // Consume newline
  79. switch(transformChoice){
  80. case 1:
  81. addDueDate(tasks, scanner);
  82. break;
  83. case 2:
  84. addStatus(tasks, scanner);
  85. break;
  86. default:
  87. System.out.println("Invalid transformation choice.");
  88. }
  89. }
  90. static void addDueDate(List<Task> tasks, Scanner scanner){
  91. for(int i = 0; i < tasks.size(); i++){
  92. System.out.print("Enter due date for task " + (i+1) + " (YYYY-MM-DD): ");
  93. String dueDate = scanner.nextLine();
  94. tasks.get(i).setDueDate(dueDate);
  95. }
  96. }
  97. static void addStatus(List<Task> tasks, Scanner scanner){
  98. for(int i = 0; i < tasks.size(); i++){
  99. System.out.print("Enter status for task " + (i+1) + " (To Do, In Progress, Done): ");
  100. String status = scanner.nextLine();
  101. tasks.get(i).setStatus(status);
  102. }
  103. }
  104. }
  105. class Task

Add your comment