From 44c82e87d23c15f2ddae58cd534d0666e3e4367a Mon Sep 17 00:00:00 2001 From: jamiird261-collab Date: Sun, 1 Mar 2026 19:50:51 -0500 Subject: [PATCH] complete student system --- README.md | 2 +- src/main/java/Jamiir/Instructor.java | 38 ++++++++++++++++++++++++++++ src/main/java/Jamiir/Person.java | 28 ++++++++++++++++++++ src/main/java/Jamiir/Student.java | 28 ++++++++++++++++++++ src/main/java/Jamiir/main.java | 33 ++++++++++++++++++++++++ 5 files changed, 128 insertions(+), 1 deletion(-) create mode 100644 src/main/java/Jamiir/Instructor.java create mode 100644 src/main/java/Jamiir/Person.java create mode 100644 src/main/java/Jamiir/Student.java create mode 100644 src/main/java/Jamiir/main.java diff --git a/README.md b/README.md index 0d43b65..1eb1726 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Student Management System +33334445# Student Management System A Java console application for managing students and instructors. diff --git a/src/main/java/Jamiir/Instructor.java b/src/main/java/Jamiir/Instructor.java new file mode 100644 index 0000000..0998da4 --- /dev/null +++ b/src/main/java/Jamiir/Instructor.java @@ -0,0 +1,38 @@ +package Jamiir; + +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 s : students) { + System.out.println("- " + s.getSummary()); + } + } + + public void createAnnouncement(String message) { + System.out.println("Announcement from " + getFullName() + ": " + message); + } + + @Override + public String getSummary() { + return "[Instructor] " + getFullName() + + " | Department: " + department; + } +} \ No newline at end of file diff --git a/src/main/java/Jamiir/Person.java b/src/main/java/Jamiir/Person.java new file mode 100644 index 0000000..14ce37f --- /dev/null +++ b/src/main/java/Jamiir/Person.java @@ -0,0 +1,28 @@ +package Jamiir; + +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/Jamiir/Student.java b/src/main/java/Jamiir/Student.java new file mode 100644 index 0000000..a950b92 --- /dev/null +++ b/src/main/java/Jamiir/Student.java @@ -0,0 +1,28 @@ +package Jamiir; + +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() { + return "[Student] " + getFullName() + + " | Grade Level: " + gradeLevel + + " | GPA: " + gpa + + " | Honor Roll: " + (isOnHonorRoll() ? "Yes" : "No"); + } +} + + diff --git a/src/main/java/Jamiir/main.java b/src/main/java/Jamiir/main.java new file mode 100644 index 0000000..6b7e5e8 --- /dev/null +++ b/src/main/java/Jamiir/main.java @@ -0,0 +1,33 @@ +package Jamiir; + +import java.util.ArrayList; +import java.util.List; + + public static void main(String[] args) { + + Student s1 = new Student(1, "Jordan", "Smith", + "jsmith@email.com", 2, 3.8); + + Student s2 = new Student(2, "Marcus", "Brown", + "mbrown@email.com", 1, 2.9); + + Instructor instructor = new Instructor(3, "Dr.", "Rivera", + "rivera@email.com", "Computer Science"); + + instructor.addStudent(s1); + instructor.addStudent(s2); + + // Polymorphism — no instanceof needed + List people = new ArrayList<>(); + people.add(s1); + people.add(s2); + people.add(instructor); + + for (Person p : people) { + System.out.println(p.getSummary()); + } + + System.out.println(); + instructor.printRoster(); + } +} \ No newline at end of file