Skip to content

Commit 2008de1

Browse files
committed
Add function to delete a task
1 parent b5e1e00 commit 2008de1

File tree

5 files changed

+63
-13
lines changed

5 files changed

+63
-13
lines changed

src/main/java/Deadline.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,17 @@ public void printDeadlineTask() {
3535
"\n\t____________________________________________________________");
3636
}
3737

38+
@Override
39+
public void printDelete() {
40+
int newTotalNumOfTasks = super.totalNumOfTasks - 1;
41+
System.out.println("\t____________________________________________________________" +
42+
"\n\t Noted. I've removed this task:" +
43+
"\n\t " + this.taskType +
44+
super.getTaskStatus() + " " + super.task + " (by: " + this.taskDeadline + ")" +
45+
"\n\t Now you have " + newTotalNumOfTasks + " tasks in the list." +
46+
"\n\t____________________________________________________________");
47+
}
48+
3849
@Override
3950
public String getTaskType() {
4051
return this.taskType;

src/main/java/Duke.java

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,14 @@ public void chatDuke() {
113113
taskName, eventStartTime, eventEndTime, allTasks.size() + 1);
114114
allTasks.add(event);
115115
event.printEventTask();
116+
} else if (command.startsWith("delete")) {
117+
missingIndexException(command);
118+
invalidIndexException(command, allTasks.size());
119+
String[] str = command.split(" ");
120+
int taskIndex = Integer.parseInt(str[1]) - 1;
121+
Task task = allTasks.get(taskIndex);
122+
task.printDelete();
123+
allTasks.remove(taskIndex);
116124
} else if (command.equals("bye")){
117125
saidBye = true;
118126
this.printByeMessage();
@@ -121,6 +129,10 @@ public void chatDuke() {
121129
}
122130
} catch (DukeException d) {
123131
System.out.println(d.getMessage());
132+
} catch (NumberFormatException nfe) {
133+
System.out.println("\t____________________________________________________________" +
134+
"\n\t ☹ OOPS!!! The task index to delete or un/mark a task cannot be a non-integer." +
135+
"\n\t____________________________________________________________");
124136
}
125137
}
126138
}
@@ -153,12 +165,6 @@ public void printCommandList(List<Task> allTasks) {
153165
System.out.println("\t____________________________________________________________");
154166
}
155167

156-
public void echoCommand(String command) {
157-
System.out.println("\t____________________________________________________________" +
158-
"\n\t" + " added: " + command +
159-
"\n\t____________________________________________________________");
160-
}
161-
162168
public void printByeMessage() {
163169
System.out.println("\t____________________________________________________________" +
164170
"\n\t Bye. Hope to see you again soon!" +
@@ -207,24 +213,29 @@ public void missingIndexException(String command) throws DukeException {
207213
throw new DukeException("\t____________________________________________________________" +
208214
"\n\t ☹ OOPS!!! The task index to unmark a task as not done cannot be empty." +
209215
"\n\t____________________________________________________________");
216+
} else if (command.equals("delete")) {
217+
throw new DukeException("\t____________________________________________________________" +
218+
"\n\t ☹ OOPS!!! The task index to delete a task as not done cannot be empty." +
219+
"\n\t____________________________________________________________");
210220
}
211221
}
212222

213223
public void invalidIndexException(String command, int taskSize) throws DukeException {
214-
if (command.startsWith("mark") || command.startsWith("unmark")) {
224+
if (command.startsWith("mark") || command.startsWith("unmark")
225+
||command.startsWith("delete")) {
215226
String index = command.split(" ")[1];
216227
int index1 = Integer.parseInt(index);
217228
if (index1 <= 0) {
218229
throw new DukeException("\t____________________________________________________________" +
219-
"\n\t ☹ OOPS!!! The task index to mark a task as done cannot be zero or less." +
230+
"\n\t ☹ OOPS!!! The task index to delete or un/mark a task cannot be zero or less." +
220231
"\n\t____________________________________________________________");
221232
} else if (index.equals("")) {
222233
throw new DukeException("\t____________________________________________________________" +
223-
"\n\t ☹ OOPS!!! The task index to mark a task as done cannot be empty." +
234+
"\n\t ☹ OOPS!!! The task index to delete or un/mark a task cannot be empty." +
224235
"\n\t____________________________________________________________");
225236
} else if (index1 > taskSize) {
226237
throw new DukeException("\t____________________________________________________________" +
227-
"\n\t ☹ OOPS!!! The task index to mark a task as done cannot be more than" +
238+
"\n\t ☹ OOPS!!! The task index to delete or un/mark a task cannot be more than" +
228239
" number of tasks." +
229240
"\n\t____________________________________________________________");
230241
}
@@ -240,5 +251,4 @@ public void invalidCommandException(String command) throws DukeException {
240251
"\n\t____________________________________________________________");
241252
}
242253
}
243-
244254
}

src/main/java/Event.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,18 @@ public void printEventTask() {
4040
"\n\t____________________________________________________________");
4141
}
4242

43+
@Override
44+
public void printDelete() {
45+
int newTotalNumOfTasks = super.totalNumOfTasks - 1;
46+
System.out.println("\t____________________________________________________________" +
47+
"\n\t Noted. I've removed this task:" +
48+
"\n\t " + this.taskType +
49+
super.getTaskStatus() + " " + super.task + " (from: " + this.eventStartTime +
50+
" to: " + this.eventEndTime + ")" + "\n\t Now you have " +
51+
newTotalNumOfTasks + " tasks in the list." +
52+
"\n\t____________________________________________________________");
53+
}
54+
4355
@Override
4456
public String getTaskType() {
4557
return this.taskType;

src/main/java/Task.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import java.util.Objects;
2-
31
public class Task {
42
protected final int taskNumber;
53
protected final boolean taskStatus;
@@ -27,6 +25,13 @@ public void unmarkAsUndone() {
2725
"\n\t____________________________________________________________");
2826
}
2927

28+
public void printDelete() {
29+
System.out.println("\t____________________________________________________________" +
30+
"\n\t Noted. I've removed this task:" + "\n\t " +
31+
this.getTaskStatus() + " " + this.task +
32+
"\n\t Now you have " + this.totalNumOfTasks + " tasks in the list.");
33+
}
34+
3035
public int getTaskNumber() {
3136
return this.taskNumber;
3237
}

src/main/java/Todo.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@ class Todo extends Task {
66
this.taskType = "[T]";
77
}
88

9+
@Override
910
public void markAsDone() {
1011
System.out.println("\t____________________________________________________________" +
1112
"\n\t Nice! I've marked this task as done:\n" +
1213
"\t " + this.taskType + "[X]" + " " + this.task +
1314
"\n\t____________________________________________________________");
1415
}
1516

17+
@Override
1618
public void unmarkAsUndone() {
1719
System.out.println("\t____________________________________________________________" +
1820
"\n\t OK, I've marked this task as not done yet:\n" +
@@ -28,6 +30,16 @@ public void printToDoTask() {
2830
"\n\t____________________________________________________________");
2931
}
3032

33+
@Override
34+
public void printDelete() {
35+
int newTotalNumOfTasks = super.totalNumOfTasks - 1;
36+
System.out.println("\t____________________________________________________________" +
37+
"\n\t Noted. I've removed this task:" + "\n\t " + this.taskType +
38+
super.getTaskStatus() + " " + super.task +
39+
"\n\t Now you have " + newTotalNumOfTasks + " tasks in the list." +
40+
"\n\t____________________________________________________________");
41+
}
42+
3143
@Override
3244
public String getTaskType() {
3345
return this.taskType;

0 commit comments

Comments
 (0)