From bc61181fb7800f7bca09ad81c2be17d4cf5b268f Mon Sep 17 00:00:00 2001 From: Corey Scott Date: Wed, 25 Feb 2026 15:58:07 -0500 Subject: [PATCH] completed Student-management-system --- .../java/students/coreyscott/Instructor.java | 39 +++++++++++++++ src/main/java/students/coreyscott/Main.java | 48 +++++++++++++++++++ src/main/java/students/coreyscott/Person.java | 24 ++++++++++ src/main/java/students/coreyscott/School.java | 36 ++++++++++++++ .../java/students/coreyscott/Student.java | 38 +++++++++++++++ 5 files changed, 185 insertions(+) create mode 100644 src/main/java/students/coreyscott/Instructor.java create mode 100644 src/main/java/students/coreyscott/Main.java create mode 100644 src/main/java/students/coreyscott/Person.java create mode 100644 src/main/java/students/coreyscott/School.java create mode 100644 src/main/java/students/coreyscott/Student.java diff --git a/src/main/java/students/coreyscott/Instructor.java b/src/main/java/students/coreyscott/Instructor.java new file mode 100644 index 0000000..8102f97 --- /dev/null +++ b/src/main/java/students/coreyscott/Instructor.java @@ -0,0 +1,39 @@ +package students.coreyscott; + +import java.util.ArrayList; +import java.util.List; + +public class Instructor extends Person { + + private String department; + private List students; + + public Instructor(int id, String firstName, String lastName, String email, + String department) { + super(id, firstName, lastName, email); + this.department = department; + this.students = new ArrayList<>(); + } + + public void addStudent(Student student) { + students.add(student); + } + + public void printRoster() { + System.out.println(getFullName() + "'s Roster:"); + for (Student student : students) { + System.out.println(" - " + student.getFullName()); + + } + } + + public void createAnnouncement(String message) { + System.out.println("Announcement from " + getFullName() + ": " + message); + } + + @Override + public String getSummary() { + return "[Instructor]: " + getFullName() + + " | Department: " + department; + } +} diff --git a/src/main/java/students/coreyscott/Main.java b/src/main/java/students/coreyscott/Main.java new file mode 100644 index 0000000..1518f5c --- /dev/null +++ b/src/main/java/students/coreyscott/Main.java @@ -0,0 +1,48 @@ +package students.coreyscott; + +import java.util.ArrayList; +import java.util.List; + +public class Main { + + public static void main(String[] args) { + + Student jordan = new Student(1, "Jordan", "Smith", + "jordan@email.com", 2, 3.8); + + Student marcus = new Student(2, "Marcus", "Brown", + "marcus@email.com", 1, 2.9); + + Instructor rivera = new Instructor(3, "Dr.", "Rivera", + "rivera@email.com", "Computer Science"); + + rivera.addStudent(jordan); + rivera.addStudent(marcus); + + rivera.printRoster(); + + System.out.println(); + + List people = new ArrayList<>(); + people.add(jordan); + people.add(marcus); + people.add(rivera); + + for (Person person : people) { + System.out.println(person.getSummary()); + } + System.out.println("\n===== SCHOOL DIRECTORY ====="); + + School school = new School(); + + school.addStudent(jordan); + school.addStudent(marcus); + school.addInstructor(rivera); + + school.printDirectory(); + + + } + +} + diff --git a/src/main/java/students/coreyscott/Person.java b/src/main/java/students/coreyscott/Person.java new file mode 100644 index 0000000..c438415 --- /dev/null +++ b/src/main/java/students/coreyscott/Person.java @@ -0,0 +1,24 @@ +package students.coreyscott; + +public abstract class Person { + + private int id; + private String firstName; + private String lastName; + private String email; + + public Person (int id, String firstName, String lastName, String email){ + this.id = id; + this.firstName = firstName; + this.lastName = lastName; + this.email = email; + } + + public String getFullName(){ + return firstName + " " + lastName; + } + + public abstract String getSummary(); + + +} diff --git a/src/main/java/students/coreyscott/School.java b/src/main/java/students/coreyscott/School.java new file mode 100644 index 0000000..7b48485 --- /dev/null +++ b/src/main/java/students/coreyscott/School.java @@ -0,0 +1,36 @@ +package students.coreyscott; + + +import java.util.ArrayList; +import java.util.List; + +public class School { + + private List students; + private List instructors; + + public School() { + students = new ArrayList<>(); + instructors = new ArrayList<>(); + } + + public void addStudent(Student student) { + students.add(student); + } + + public void addInstructor(Instructor instructor) { + instructors.add(instructor); + } + + public void printDirectory() { + System.out.println("=== Students ==="); + for (Student student : students) { + System.out.println(student.getSummary()); + } + + System.out.println("\n=== Instructors ==="); + for (Instructor instructor : instructors) { + System.out.println(instructor.getSummary()); + } + } +} \ No newline at end of file diff --git a/src/main/java/students/coreyscott/Student.java b/src/main/java/students/coreyscott/Student.java new file mode 100644 index 0000000..91e548e --- /dev/null +++ b/src/main/java/students/coreyscott/Student.java @@ -0,0 +1,38 @@ +package students.coreyscott; + +public class Student extends Person { + + private int gradeLevel; + private double gpa; + + public Student(int id, String firstname, String lastname, String email, int gradeLevel, double gpa) { + super(id, firstname, lastname, email); + this.gradeLevel = gradeLevel; + this.gpa = gpa; + } + + public boolean isOnHonorRoll() { + return gpa >= 3.5; + } + + @Override + public String getSummary() { + String honorRollStatus = isOnHonorRoll() ? "Yes" : "No"; + + return "[Student]: " + getFullName() + + " | Grade Level: " + gradeLevel + + " | GPA: " + gpa + + " | Honor roll: " + honorRollStatus; + } + + public int getGradeLevel() { + return gradeLevel; + } + + public double getGpa() { + return gpa; + + + } +} +