From 8ba10db6a6d192b2c34d33f0163600b9955320d6 Mon Sep 17 00:00:00 2001 From: yizt73 Date: Fri, 17 Feb 2023 16:48:50 +0800 Subject: [PATCH 1/3] update error handling --- src/se/edu/inclass/data/DataManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/se/edu/inclass/data/DataManager.java b/src/se/edu/inclass/data/DataManager.java index c3f1030..01cde20 100644 --- a/src/se/edu/inclass/data/DataManager.java +++ b/src/se/edu/inclass/data/DataManager.java @@ -57,7 +57,7 @@ public ArrayList loadData() { ArrayList dataItems = readFile(); taskList = parse(dataItems); } catch (IOException e) { - e.printStackTrace(); + System.out.println("File access issue. Please check.");; } return taskList; } From 7936e9c24015dd6829533a6f0a00b5cea07b1bf5 Mon Sep 17 00:00:00 2001 From: yizt73 Date: Fri, 17 Feb 2023 17:05:09 +0800 Subject: [PATCH 2/3] Add method to count deadline using streams --- src/se/edu/inclass/Main.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/se/edu/inclass/Main.java b/src/se/edu/inclass/Main.java index aa9516c..f484e61 100644 --- a/src/se/edu/inclass/Main.java +++ b/src/se/edu/inclass/Main.java @@ -34,6 +34,12 @@ private static int countDeadlines(ArrayList tasksData) { } return count; } + private static int countDeadlinesUsingStream(ArrayList tasks) { + int count = (int) tasks.stream() + .filter(t -> t instanceof Deadline) + .count(); + return count; + } public static void printData(ArrayList tasksData) { for (Task t : tasksData) { From 1bf514447c402fc657197ca8607c3b2f914f547e Mon Sep 17 00:00:00 2001 From: yizt73 Date: Fri, 17 Feb 2023 17:06:15 +0800 Subject: [PATCH 3/3] add methods that use steams --- .gitignore | 1 + src/se/edu/inclass/Main.java | 24 ++++++++++++++++++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 4c1a033..45174cc 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* .idea/ +TaskS.iml diff --git a/src/se/edu/inclass/Main.java b/src/se/edu/inclass/Main.java index f484e61..876afe1 100644 --- a/src/se/edu/inclass/Main.java +++ b/src/se/edu/inclass/Main.java @@ -5,6 +5,7 @@ import se.edu.inclass.task.Task; import se.edu.inclass.task.TaskNameComparator; +import java.lang.reflect.Array; import java.util.ArrayList; public class Main { @@ -16,13 +17,17 @@ public static void main(String[] args) { DataManager dm = new DataManager("./data/data.txt"); ArrayList tasksData = dm.loadData(); - printData(tasksData); + System.out.println(); System.out.println("Printing deadlines"); printDeadlines(tasksData); + printDeadlinesUsingStreams(tasksData); - System.out.println("Total number of deadlines: " + countDeadlines(tasksData)); + System.out.println("Total number of deadlines counted" + + " using streams: " + countDeadlinesUsingStream(tasksData)); +// printData(tasksData); +// printDataUsingStreams(tasksData); } private static int countDeadlines(ArrayList tasksData) { @@ -42,16 +47,31 @@ private static int countDeadlinesUsingStream(ArrayList tasks) { } public static void printData(ArrayList tasksData) { + System.out.println("Printing data using iteration"); for (Task t : tasksData) { System.out.println(t); } } + public static void printDataUsingStreams(ArrayList tasks) { + System.out.println("Printing data using streams"); + tasks.stream() // convert to stream + .forEach(System.out::println); + } + public static void printDeadlines(ArrayList tasksData) { + System.out.println("Printing deadline using iteration"); for (Task t : tasksData) { if (t instanceof Deadline) { System.out.println(t); } } } + + public static void printDeadlinesUsingStreams(ArrayList tasks) { + System.out.println("Printing deadline using streams"); + tasks.stream() + .filter(t -> t instanceof Deadline) + .forEach(System.out::println); + } }