import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class MaintenanceTaskTransformer {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List<Task> tasks = new ArrayList<>();
while (true) {
System.out.println("\nChoose an action:");
System.out.println("1. Add Task");
System.out.println("2. View Tasks");
System.out.println("3. Save Tasks to File");
System.out.println("4. Load Tasks from File");
System.out.println("5. Transform Tasks (e.g., add priority)");
System.out.println("6. Exit");
int choice = scanner.nextInt();
scanner.nextLine(); // Consume newline
switch (choice) {
case 1:
addTask(tasks, scanner);
break;
case 2:
viewTasks(tasks);
break;
case 3:
saveTasks(tasks, scanner);
break;
case 4:
loadTasks(tasks, scanner);
break;
case 5:
transformTasks(tasks, scanner);
break;
case 6:
System.out.println("Exiting...");
scanner.close();
return;
default:
System.out.println("Invalid choice. Please try again.");
}
}
}
static void addTask(List<Task> tasks, Scanner scanner) {
System.out.print("Enter task description: ");
String description = scanner.nextLine();
System.out.print("Enter priority (High, Medium, Low): ");
String priority = scanner.nextLine();
Task newTask = new Task(description, priority);
tasks.add(newTask);
System.out.println("Task added.");
}
static void viewTasks(List<Task> tasks) {
if (tasks.isEmpty()) {
System.out.println("No tasks found.");
return;
}
for (int i = 0; i < tasks.size(); i++) {
System.out.println((i + 1) + ". " + tasks.get(i));
}
}
static void saveTasks(List<Task> tasks, Scanner scanner) {
System.out.print("Enter filename to save tasks: ");
String filename = scanner.nextLine();
//Implementation for saving to file.
System.out.println("Tasks saved to " + filename);
}
static void loadTasks(List<Task> tasks, Scanner scanner) {
System.out.print("Enter filename to load tasks: ");
String filename = scanner.nextLine();
//Implementation for loading from file.
}
static void transformTasks(List<Task> tasks, Scanner scanner) {
System.out.println("Choose transformation:");
System.out.println("1. Add Due Date");
System.out.println("2. Add Status");
System.out.println("Enter your choice:");
int transformChoice = scanner.nextInt();
scanner.nextLine(); // Consume newline
switch(transformChoice){
case 1:
addDueDate(tasks, scanner);
break;
case 2:
addStatus(tasks, scanner);
break;
default:
System.out.println("Invalid transformation choice.");
}
}
static void addDueDate(List<Task> tasks, Scanner scanner){
for(int i = 0; i < tasks.size(); i++){
System.out.print("Enter due date for task " + (i+1) + " (YYYY-MM-DD): ");
String dueDate = scanner.nextLine();
tasks.get(i).setDueDate(dueDate);
}
}
static void addStatus(List<Task> tasks, Scanner scanner){
for(int i = 0; i < tasks.size(); i++){
System.out.print("Enter status for task " + (i+1) + " (To Do, In Progress, Done): ");
String status = scanner.nextLine();
tasks.get(i).setStatus(status);
}
}
}
class Task
Add your comment