From 4fe2f5742958a297e054a3a4cf416da84a32066a Mon Sep 17 00:00:00 2001 From: glenntyson Date: Wed, 25 Feb 2026 16:10:50 -0500 Subject: [PATCH] Glenn Tyson Student Management System --- .../java/students/glenntyson/Instructor.java | 40 ++++++++++++++++++ src/main/java/students/glenntyson/Main.java | 41 +++++++++++++++++++ src/main/java/students/glenntyson/Person.java | 37 +++++++++++++++++ src/main/java/students/glenntyson/School.java | 38 +++++++++++++++++ .../java/students/glenntyson/Student.java | 31 ++++++++++++++ 5 files changed, 187 insertions(+) create mode 100644 src/main/java/students/glenntyson/Instructor.java create mode 100644 src/main/java/students/glenntyson/Main.java create mode 100644 src/main/java/students/glenntyson/Person.java create mode 100644 src/main/java/students/glenntyson/School.java create mode 100644 src/main/java/students/glenntyson/Student.java diff --git a/src/main/java/students/glenntyson/Instructor.java b/src/main/java/students/glenntyson/Instructor.java new file mode 100644 index 0000000..69e5a8f --- /dev/null +++ b/src/main/java/students/glenntyson/Instructor.java @@ -0,0 +1,40 @@ +package students.glenntyson; + +import java.util.ArrayList; +import java.util.List; + +public class Instructor extends Person { + + private String department; + private List assignedStudents; + + public Instructor(int id, String firstName, String lastName, String email, String department) { + super(id, firstName, lastName, email); + this.department = department; + this.assignedStudents = new ArrayList<>(); + } + + public String getDepartment() { + return department; + } + + public void addStudent(Student student) { + assignedStudents.add(student); + } + + public void printRoster() { + System.out.println(getFirstName() + " " + getLastName() + "'s Roster:"); + for (Student s : assignedStudents) { + System.out.println(" - " + s.getFirstName() + " " + s.getLastName() + " | Grade Level: " + s.getGradeLevel() + " | GPA: " + s.getGpa()); + } + } + + public void createAnnouncement(String message) { + System.out.println("Announcement from " + getFirstName() + " " + getLastName() + ": " + message); + } + + @Override + public String getSummary() { + return "Instructor| " + getFirstName() + " " + getLastName() + " | Department: " + department; + } +} diff --git a/src/main/java/students/glenntyson/Main.java b/src/main/java/students/glenntyson/Main.java new file mode 100644 index 0000000..5076fab --- /dev/null +++ b/src/main/java/students/glenntyson/Main.java @@ -0,0 +1,41 @@ +package students.glenntyson; + + +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 drRivera = new Instructor(100, "Dr.", "Rivera", "rivera@email.com", "Computer Science"); + + drRivera.addStudent(jordan); + drRivera.addStudent(marcus); + + drRivera.printRoster(); + + System.out.println(); + + List people = new ArrayList<>(); + people.add(jordan); + people.add(marcus); + people.add(drRivera); + + for (Person person : people) { + System.out.println(person.getSummary()); + } + + School school = new School(); + school.addStudent(jordan); + school.addStudent(marcus); + school.addInstructor(drRivera); + + System.out.println(); + school.printDirectory(); + } +} diff --git a/src/main/java/students/glenntyson/Person.java b/src/main/java/students/glenntyson/Person.java new file mode 100644 index 0000000..3c7260c --- /dev/null +++ b/src/main/java/students/glenntyson/Person.java @@ -0,0 +1,37 @@ +package students.glenntyson; + +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 int getId() { + return id; + } + + public String getFirstName() { + return firstName; + } + + public String getLastName() { + return lastName; + } + + public String getEmail() { + return email; + } + + public abstract String getSummary(); + +} diff --git a/src/main/java/students/glenntyson/School.java b/src/main/java/students/glenntyson/School.java new file mode 100644 index 0000000..a9faf73 --- /dev/null +++ b/src/main/java/students/glenntyson/School.java @@ -0,0 +1,38 @@ +package students.glenntyson; + + +import java.util.ArrayList; +import java.util.List; + +public class School { + + private List students; + private List instructors; + + public School() { + this.students = new ArrayList<>(); + this.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("=== School Directory ==="); + + System.out.println("Students:"); + for (Student s : students) { + System.out.println(s.getSummary()); + } + + System.out.println("Instructors:"); + for (Instructor i : instructors) { + System.out.println(i.getSummary()); + } + } +} diff --git a/src/main/java/students/glenntyson/Student.java b/src/main/java/students/glenntyson/Student.java new file mode 100644 index 0000000..e41389d --- /dev/null +++ b/src/main/java/students/glenntyson/Student.java @@ -0,0 +1,31 @@ +package students.glenntyson; + +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 int getGradeLevel() { + return gradeLevel; + } + + public double getGpa() { + return gpa; + } + + public boolean isOnHonorRoll() { + return gpa >= 3.5; + } + + + @Override + public String getSummary() { + return "Student| " + getFirstName() + " " + getLastName() + " | Grade Level: " + gradeLevel + " | GPA: " + gpa + " | Honor Roll: " + (isOnHonorRoll() ? "Yes" : "No"); + } +}