Skip to content

Commit

Permalink
Merge branch 'branch-Level-9'
Browse files Browse the repository at this point in the history
  • Loading branch information
yeo-kexin committed Aug 26, 2020
2 parents 425ff77 + 536bb7d commit dbd87b7
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 6 deletions.
5 changes: 4 additions & 1 deletion src/main/java/Duke.java
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ void handleInput(String[] input) {
case "delete":
this.ui.deleteTask(this.tasks.deleteTask(Integer.valueOf(input[1])), this.tasks.getLength());
break;
case "find":
this.ui.find(this.tasks.findTasks(input[1]));
break;
case "todo":
//Fallthrough
case "event":
Expand Down Expand Up @@ -65,7 +68,7 @@ public void run() {
this.ui.greet();
Scanner sc = new Scanner(System.in);

while (sc.hasNext()) {
while (sc.hasNextLine()) {
String[] input = Parser.parse(sc.nextLine());
handleInput(input);
}
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/Task.java
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,10 @@ protected String getStatusIcon() {
*/
abstract public String formatTaskForFile();

protected boolean match(String keyword) {
return this.description.contains(keyword);
}

@Override
public String toString() {
return this.getStatusIcon() + this.description;
Expand Down
25 changes: 20 additions & 5 deletions src/main/java/TaskList.java
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import java.util.ArrayList;
import java.util.List;

/**
Expand Down Expand Up @@ -28,7 +29,6 @@ public int getLength() {
return this.tasks.size();
}


Task createTask(String taskType, String desc) throws MissingDeadlineException{
if (taskType.equals("todo")) {
return new Todo(desc);
Expand All @@ -54,9 +54,9 @@ public Task addTask(String taskType, String desc) throws MissingDeadlineExceptio
return task;
}

String formatTask(int num) {
String lineBreak = num != this.tasks.size() - 1 ? "\n " : "";
return (num + 1) + "." + this.tasks.get(num) + lineBreak;
String formatTask(int num, List<Task> tasks) {
String lineBreak = num != tasks.size() - 1 ? "\n " : "";
return (num + 1) + "." + tasks.get(num) + lineBreak;
}

/**
Expand All @@ -68,7 +68,7 @@ public String formattedList() {
String list = "";

for (int i = 0; i < this.tasks.size(); i++) {
list += formatTask(i);
list += formatTask(i, this.tasks);
}

return list;
Expand Down Expand Up @@ -106,4 +106,19 @@ public Task deleteTask(int num) throws MissingTaskException {
throw new MissingTaskException(num);
}
}

String findTasks(String keyword) {
List<Task> matchingTasks = new ArrayList<>();
for (Task task: tasks) {
if (task.match(keyword)) {
matchingTasks.add(task);
}
}

String list = "";
for (int i = 0; i < matchingTasks.size(); i++) {
list += formatTask(i, matchingTasks);
}
return list;
}
}
6 changes: 6 additions & 0 deletions src/main/java/Ui.java
Original file line number Diff line number Diff line change
Expand Up @@ -99,4 +99,10 @@ public void showSaveError() {
public void showLoadError() {
System.out.println(wrapMessage("Something went wrong while loading your tasks..."));
}

public void find(String matchingTasks) {
String list = "Here are the matching tasks in your list: \n ";
list += matchingTasks;
System.out.println(wrapMessage(list));
}
}

0 comments on commit dbd87b7

Please sign in to comment.