-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTaskManagementSystem.java
More file actions
140 lines (123 loc) Β· 4.98 KB
/
TaskManagementSystem.java
File metadata and controls
140 lines (123 loc) Β· 4.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
import java.util.ArrayList;
import java.util.Scanner;
class Task {
String name;
String description;
String dueDate;
public Task(String name, String description, String dueDate) {
this.name = name;
this.description = description;
this.dueDate = dueDate;
}
}
public class TaskManagementSystem {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
ArrayList<Task> tasks = new ArrayList<>();
while (true) {
System.out.println();
System.out.println("\t\t\tTask Management System");
System.out.println("\t\t---------------------------------------");
System.out.println("\t\t 1. Add Task");
System.out.println("\t\t 2. Remove Task");
System.out.println("\t\t 3. List Tasks");
System.out.println("\t\t 4. Exit");
System.out.println("\t\t---------------------------------------");
System.out.println();
System.out.print("\t\t\tEnter your choice: ");
System.out.println();
int choice;
try {
choice = scanner.nextInt();
scanner.nextLine(); // Consume the newline character
} catch (Exception e) {
System.out.println();
System.out.println("\t\t Invalid input. Please enter a valid option.");
scanner.nextLine(); // Consume the invalid input
continue;
}
switch (choice) {
case 1:
addTask(scanner, tasks);
break;
case 2:
removeTask(scanner, tasks);
break;
case 3:
listTasks(tasks);
break;
case 4:
System.out.println();
System.out.println("\t\t Exiting Task Management System. Goodbye!");
System.exit(0);
break;
default:
System.out.println();
System.out.println("\t\t Invalid choice. Please enter a valid option.");
}
}
}
private static void addTask(Scanner scanner, ArrayList<Task> tasks) {
System.out.print("\t\t Enter task name: ");
String name = scanner.nextLine(); // Read the entire line
System.out.print("\t\t Enter task description: ");
String description = scanner.nextLine(); // Read the entire line
System.out.print("\t\t Enter due date: ");
String dueDate = scanner.nextLine(); // Read the entire line
System.out.println();
Task newTask = new Task(name, description, dueDate);
tasks.add(newTask);
System.out.println("\t\t Task added successfully!");
System.out.println("\t\t---------------------------------------");
System.out.println();
}
private static void removeTask(Scanner scanner, ArrayList<Task> tasks) {
if (tasks.isEmpty()) {
System.out.println("\t\t No tasks to remove.");
System.out.println();
return;
}
System.out.println("\t\t Select task to remove:");
for (int i = 0; i < tasks.size(); i++) {
System.out.println((i + 1) + ". " + tasks.get(i).name);
}
System.out.print("\t\t Enter task number to remove: ");
int taskNumber;
try {
taskNumber = scanner.nextInt();
scanner.nextLine(); // Consume the newline character
} catch (Exception e) {
System.out.println("\t\t Invalid input. Please enter a valid task number.");
scanner.nextLine(); // Consume the invalid input
System.out.println();
return;
}
if (taskNumber >= 1 && taskNumber <= tasks.size()) {
Task removedTask = tasks.remove(taskNumber - 1);
System.out.println("\t\t Task removed: " + removedTask.name);
} else {
System.out.println("\t\t Invalid task number.");
System.out.println();
}
}
private static void listTasks(ArrayList<Task> tasks) {
if (tasks.isEmpty()) {
System.out.println("\t\t No tasks available.");
System.out.println();
return;
}
System.out.println("\t\t Tasks:");
System.out.println("\t\t --------");
for (int i = 0; i < tasks.size(); i++) {
Task task = tasks.get(i);
System.out.println();
System.out.println("\t\tTask No.\t:\t"+(i+1));
System.out.println("\t===========================================");
System.out.println();
System.out.println("\tName\t\t:\t" + task.name);
System.out.println("\tDescription\t:\t" + task.description);
System.out.println("\tDue Date\t:\t" + task.dueDate);
System.out.println("\t============================================");
}
}
}