From fa3f20a54b09312859ade8e305328705b216e8e2 Mon Sep 17 00:00:00 2001 From: Zahra Gharagozloo Mazlaghan Date: Wed, 10 Jun 2026 22:12:23 +0330 Subject: [PATCH 1/5] Class Student completed. --- .idea/.gitignore | 10 ++++++++++ .idea/compiler.xml | 13 +++++++++++++ .idea/encodings.xml | 7 +++++++ .idea/jarRepositories.xml | 20 ++++++++++++++++++++ .idea/misc.xml | 12 ++++++++++++ .idea/vcs.xml | 6 ++++++ src/main/java/dev/model/Student.java | 25 +++++++------------------ 7 files changed, 75 insertions(+), 18 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..ab1f416 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,10 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Ignored default folder with query files +/queries/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..a590144 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..aa00ffa --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..105dbd3 --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..eba6e1f --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/main/java/dev/model/Student.java b/src/main/java/dev/model/Student.java index f0484f4..f9bdbb1 100644 --- a/src/main/java/dev/model/Student.java +++ b/src/main/java/dev/model/Student.java @@ -40,31 +40,20 @@ public class Student { @Override public int hashCode() { - - // TODO: - // Return custom hash - - // Example: - // return id % 97; - - return 0; + return this.getId() % 97; } @Override public boolean equals(Object obj) { + if (obj == null) return false; + + if (this == obj) return true; - // TODO: + if (this.getClass() != obj.getClass()) return false; - // Step 1: - // Check null + Student other = (Student) obj; - // Step 2: - // Convert obj to Student - - // Step 3: - // Compare IDs - - return false; + return this.id == other.id; } @Override -- 2.54.0 From 6f5da83c472b1fd6866d623b3c49d07cce4206a8 Mon Sep 17 00:00:00 2001 From: Zahra Gharagozloo Mazlaghan Date: Wed, 10 Jun 2026 22:32:39 +0330 Subject: [PATCH 2/5] StudentManager and StudentLoader completed. --- src/main/java/dev/model/Student.java | 2 +- src/main/java/dev/service/StudentManager.java | 32 +++++++---------- src/main/java/dev/thread/StudentLoader.java | 34 +++++++------------ 3 files changed, 27 insertions(+), 41 deletions(-) diff --git a/src/main/java/dev/model/Student.java b/src/main/java/dev/model/Student.java index f9bdbb1..ef5804e 100644 --- a/src/main/java/dev/model/Student.java +++ b/src/main/java/dev/model/Student.java @@ -46,7 +46,7 @@ public class Student { @Override public boolean equals(Object obj) { if (obj == null) return false; - + if (this == obj) return true; if (this.getClass() != obj.getClass()) return false; diff --git a/src/main/java/dev/service/StudentManager.java b/src/main/java/dev/service/StudentManager.java index 403a1c6..83bdb30 100644 --- a/src/main/java/dev/service/StudentManager.java +++ b/src/main/java/dev/service/StudentManager.java @@ -10,34 +10,28 @@ public class StudentManager { private final ArrayList students = new ArrayList<>(); public void addStudents(ArrayList newStudents) { - - // TODO: - - // Merge students - - // Hint: - // addAll() - + if (newStudents != null && !newStudents.isEmpty()) { + students.addAll(newStudents); + } } public Student searchStudent(int id) { - - // TODO: - - // Loop through students - - // Compare IDs + for (Student student: students) { + if (student.getId() == id) { + return student; + } + } return null; } public boolean removeStudent(int id) { + Student s = searchStudent(id); - // TODO: - - // Find student - - // Remove student + if (s != null) { + students.remove(s); + return true; + } return false; } diff --git a/src/main/java/dev/thread/StudentLoader.java b/src/main/java/dev/thread/StudentLoader.java index ab47522..2c0dfd4 100644 --- a/src/main/java/dev/thread/StudentLoader.java +++ b/src/main/java/dev/thread/StudentLoader.java @@ -24,35 +24,27 @@ public class StudentLoader extends Thread { @Override public void run() { - - // TODO: - - /* - Example line: - - 1001,Aryan,Computer Science,3.7 - */ - for (String line : lines) { + try { + String[] parts = line.split(","); - // TODO: - // split line + if(parts.length == 4) { + int id = Integer.parseInt(parts[0].trim()); + String name = parts[1].trim(); + String major = parts[2].trim(); + double gpa = Double.parseDouble(parts[3].trim()); - // TODO: - // read values - - // TODO: - // create Student - - // TODO: - // add to students list + Student student = new Student(id,name,major,gpa); + students.add(student); + } + } catch (Exception e) { + System.out.println(e.getMessage()); + } } - } public ArrayList getStudents() { - return students; } -- 2.54.0 From 02e1178fcb32b84ff3c51813ec85f4a1ff71d4d8 Mon Sep 17 00:00:00 2001 From: Zahra Gharagozloo Mazlaghan Date: Wed, 10 Jun 2026 22:35:25 +0330 Subject: [PATCH 3/5] FileManager completed. --- src/main/java/dev/utils/FileManager.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/main/java/dev/utils/FileManager.java b/src/main/java/dev/utils/FileManager.java index da7f6f5..d66f1b2 100644 --- a/src/main/java/dev/utils/FileManager.java +++ b/src/main/java/dev/utils/FileManager.java @@ -17,11 +17,9 @@ public class FileManager { String line; while ((line = reader.readLine()) != null) { - - // TODO: - - // Add line to list - + if (!line.trim().isEmpty()) { + lines.add(line); + } } reader.close(); -- 2.54.0 From da1de92df87fa2f03abc147b80b73d1291f65d0a Mon Sep 17 00:00:00 2001 From: Zahra Gharagozloo Mazlaghan Date: Wed, 10 Jun 2026 22:46:45 +0330 Subject: [PATCH 4/5] Class Main completed. --- src/main/java/dev/Main.java | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/src/main/java/dev/Main.java b/src/main/java/dev/Main.java index 19ca657..5cbdbf9 100644 --- a/src/main/java/dev/Main.java +++ b/src/main/java/dev/Main.java @@ -33,32 +33,35 @@ public class Main { List data = FileManager.loadStudents("students.txt"); - // TODO: - - // Split data into 3 parts - List part1 = null; - List part2 = null; - List part3 = null; - // TODO: + for(int i=0; i { -- 2.54.0 From b7662aa4af6fdef31b7836333dc2db100d403c20 Mon Sep 17 00:00:00 2001 From: Zahra Gharagozloo Mazlaghan Date: Wed, 10 Jun 2026 22:52:02 +0330 Subject: [PATCH 5/5] Check and debug completed. --- src/main/java/dev/Main.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main/java/dev/Main.java b/src/main/java/dev/Main.java index 5cbdbf9..c5d94e3 100644 --- a/src/main/java/dev/Main.java +++ b/src/main/java/dev/Main.java @@ -4,6 +4,7 @@ import dev.service.StudentManager; import dev.thread.StudentLoader; import dev.utils.FileManager; +import java.util.ArrayList; import java.util.List; import java.util.Scanner; @@ -33,9 +34,9 @@ public class Main { List data = FileManager.loadStudents("students.txt"); - List part1 = null; - List part2 = null; - List part3 = null; + ArrayList part1 = new ArrayList<>(); + ArrayList part2 = new ArrayList<>(); + ArrayList part3 = new ArrayList<>(); for(int i=0; i { -- 2.54.0