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
35 changes: 35 additions & 0 deletions src/main/java/students/jamesbarclay/Instructor.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package students.jamesbarclay;

import java.util.ArrayList;

public class Instructor extends Person {
private String department;
private ArrayList<Student> assignedStudents = new ArrayList<>();

public Instructor(int id, String firstName, String lastName, String email, String department) {
super(id, firstName, lastName, email);
this.department = department;
}

// Assign a student to the instructor
public void addStudent(Student student) {
assignedStudents.add(student);
}

// all students assigned to this instructor
public void printRoster() {
System.out.println(getFirstName() + "'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] " + message);
}

@Override
public void getSummary() {
System.out.println("[Instructor] " + getFirstName() + " " + getLastName() + " | Department: " + department);
}
}
32 changes: 32 additions & 0 deletions src/main/java/students/jamesbarclay/Main.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package students.jamesbarclay;

import java.util.ArrayList;

public class Main {
public static void main(String[] args) {
// Create students
Student student1 = new Student(1, "Jordan", "Michael", "jordan@gmail.com", '2', 2.3);
Student student2 = new Student(1, "Marcus", "Ross", "marcus@gmail.com", '1', 3.9);

// Create instructor and assign students
Instructor instructor1 = new Instructor(100, "Dr.", "Rivera", "rivera@gmail.com", "Computer Science");
instructor1.addStudent(student1);
instructor1.addStudent(student2);


ArrayList<Person> people = new ArrayList<>();
people.add(student1);
people.add(student2);
people.add(instructor1);


System.out.println("--- People Summaries ---");
for (Person p : people) {
p.getSummary();
}

// Print roster
System.out.println("\n--- Instructor Rosters ---");
instructor1.printRoster();
}
}
36 changes: 36 additions & 0 deletions src/main/java/students/jamesbarclay/Person.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package students.jamesbarclay;


public abstract class Person {
private int id;
private String firstName;
private String lastName;
private String email;


public abstract void getSummary();

public Person(int id, String firstName, String lastName, String email) {
this.id = id;
this.firstName = firstName;
this.lastName = lastName;
this.email = email;
}

// getters for all fields
public int getId() {
return id;
}

public String getFirstName() {
return firstName;
}

public String getLastName() {
return lastName;
}

public String getEmail() {
return email;
}
}
22 changes: 22 additions & 0 deletions src/main/java/students/jamesbarclay/School.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package students.jamesbarclay;


import java.util.ArrayList;

public class School {
private ArrayList<Student> studentList = new ArrayList<>();
private ArrayList<Instructor> instructorList = new ArrayList<>();

public void addStudent(Student student) {
studentList.add(student);
}

public void addInstructor(Instructor instructor) {
instructorList.add(instructor);
}

public void printAllPeople() {
for (Student s : studentList) s.getSummary();
for (Instructor i : instructorList) i.getSummary();
}
}
35 changes: 35 additions & 0 deletions src/main/java/students/jamesbarclay/Student.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package students.jamesbarclay;

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;
}

// Determines if the student is on honor roll
public boolean isOnHonorRoll() {
return gpa >= 3.0;
}

// Summary override demonstrates polymorphism
@Override
public void getSummary() {
System.out.println("[Student] " + getFirstName() + " " + getLastName() +
" | Grade Level: " + gradeLevel +
" | GPA: " + gpa +
" | Honor Roll: " + (isOnHonorRoll() ? "Yes" : "No"));
}

// Getters
public int getGradeLevel() {
return gradeLevel;
}

public double getGpa() {
return gpa;
}
}