From 9322958e0a0e1e6512a3eeb2289b520b9894c1ec Mon Sep 17 00:00:00 2001 From: dylen chew <56499861+rgonslayer@users.noreply.github.com> Date: Thu, 15 Sep 2022 23:22:52 +0800 Subject: [PATCH] Level-9 User can only list all items in task list currently Add ability for User to find tasks containing a keyword --- data/taskList.txt | 2 ++ src/main/java/jarvis/Parser.java | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/data/taskList.txt b/data/taskList.txt index 11b8ac66e1..365e9c226a 100644 --- a/data/taskList.txt +++ b/data/taskList.txt @@ -1 +1,3 @@ T | 0 | read book +D | 0 | return book | 2022-09-20 +T | 0 | gym diff --git a/src/main/java/jarvis/Parser.java b/src/main/java/jarvis/Parser.java index 4b3eee5fcd..21d358faa3 100644 --- a/src/main/java/jarvis/Parser.java +++ b/src/main/java/jarvis/Parser.java @@ -35,6 +35,22 @@ public void readCommand() throws JarvisException { } continue; } + // if userInput equals find, find tasks which match given string + if (userInput.length() > 4 && userInput.substring(0,4).equals("find")) { + String keyword = userInput.substring((5)); + System.out.println("Here are the matching tasks in your list:"); + for (int i = 0; i < tasks.getList().size(); i++) { + Task currTask = tasks.getList().get(i); + if (currTask == null) { + break; + } + if (currTask.toString().contains(keyword)) { + System.out.println((i + 1) + ". " + currTask.toString()); + } + } + continue; + } + //if userinput equals mark, check which task and mark it if (userInput.length() > 4 && userInput.substring(0, 4).equals("mark")) { int toMark = Integer.parseInt(userInput.substring(5)) - 1;