Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Student Management System
33334445# Student Management System

A Java console application for managing students and instructors.

Expand Down
38 changes: 38 additions & 0 deletions src/main/java/Jamiir/Instructor.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package Jamiir;

import java.util.ArrayList;
import java.util.List;

public class Instructor extends Person {

private String department;
private List<Student> 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;
}
}
28 changes: 28 additions & 0 deletions src/main/java/Jamiir/Person.java
Original file line number Diff line number Diff line change
@@ -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();
}






28 changes: 28 additions & 0 deletions src/main/java/Jamiir/Student.java
Original file line number Diff line number Diff line change
@@ -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");
}
}


33 changes: 33 additions & 0 deletions src/main/java/Jamiir/main.java
Original file line number Diff line number Diff line change
@@ -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<Person> 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();
}
}