diff --git a/src/main/java/students/amanidrummond/Instructor.java b/src/main/java/students/amanidrummond/Instructor.java new file mode 100644 index 0000000..5601031 --- /dev/null +++ b/src/main/java/students/amanidrummond/Instructor.java @@ -0,0 +1,39 @@ +package students.amanidrummond; +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) { + this.assignedStudents.add(student); + } + + public String createAnnouncement(String message) { + return "Announcement from Dr. " + getLastName() + ": " + message; + } + + public void printRoster() { + System.out.println("Dr. " + getLastName() + "'s Roster:"); + for (Student student : assignedStudents) { + System.out.println("- " + student.getFirstName() + " " + student.getLastName() + " | Grade Level: " + + student.getGradeLevel() + " | GPA: " + student.getGpa()); + } + } + + @Override + public String getSummary() { + return "[Instructor] Dr. " + getLastName() + " | Department: " + department; + } +} diff --git a/src/main/java/students/amanidrummond/Main.java b/src/main/java/students/amanidrummond/Main.java new file mode 100644 index 0000000..0435ce2 --- /dev/null +++ b/src/main/java/students/amanidrummond/Main.java @@ -0,0 +1,33 @@ +package students.amanidrummond; +import java.util.ArrayList; +import java.util.List; + +public class Main { + public static void main(String[] args) { + Student student1 = new Student(1, "Jordan", "Smith", + "jordan.smith@example.com", 2, 3.8); + + Student student2 = new Student(2, "Marcus", "Brown", + "marcus.brown@example.com", 1,2.9); + + Instructor instructor1 = new Instructor(3, "John", "Rivera", + "john.rivera@example.com", "Computer Science"); + + instructor1.addStudent(student1); + + instructor1.addStudent(student2); + + List people = new ArrayList<>(); + people.add(student1); + people.add(student2); + people.add(instructor1); + + for (Person person : people) { + + System.out.println(person.getSummary()); + } + + instructor1.printRoster(); + + } +} diff --git a/src/main/java/students/amanidrummond/Person.java b/src/main/java/students/amanidrummond/Person.java new file mode 100644 index 0000000..d6c9bb9 --- /dev/null +++ b/src/main/java/students/amanidrummond/Person.java @@ -0,0 +1,34 @@ +package students.amanidrummond; + +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/amanidrummond/Student.java b/src/main/java/students/amanidrummond/Student.java new file mode 100644 index 0000000..3208044 --- /dev/null +++ b/src/main/java/students/amanidrummond/Student.java @@ -0,0 +1,31 @@ +package students.amanidrummond; + +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"); + } +}