diff --git a/src/main/java/students/jordaneldridge/Person.java b/src/main/java/students/jordaneldridge/Person.java index 269bcb7..461a1a7 100644 --- a/src/main/java/students/jordaneldridge/Person.java +++ b/src/main/java/students/jordaneldridge/Person.java @@ -4,5 +4,7 @@ public class Person { public static void main(String[] args) { + + } } diff --git a/src/main/java/students/kennethedelin/Instructor.java b/src/main/java/students/kennethedelin/Instructor.java new file mode 100644 index 0000000..a66fb57 --- /dev/null +++ b/src/main/java/students/kennethedelin/Instructor.java @@ -0,0 +1,60 @@ +package students.kennethedelin; + +import java.util.ArrayList; + +public class Instructor extends Person { + + private String department; + + private ArrayList 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 createAnnouncement(String message) { + + System.out.println("[Announcement from " + getFullName() + "] " + message); + + } + + public void addStudent(Student student) { + + if (student == null) return; + + assignedStudents.add(student); + } + + public void printRoster() { + + System.out.println(getFullName() + "'s Roster:"); + + for (Student s : assignedStudents) { + + System.out.println(" - " + s.getFullName() + + + " | Grade Level: " + s.getGradeLevel() + + + " | GPA: " + String.format("%.1f", s.getGpa())); + } + } + + @Override + public String getSummary() { + + return "[Instructor] " + getFullName() + + + " | Department: " + department; + } +} \ No newline at end of file diff --git a/src/main/java/students/kennethedelin/Main.java b/src/main/java/students/kennethedelin/Main.java new file mode 100644 index 0000000..352ee57 --- /dev/null +++ b/src/main/java/students/kennethedelin/Main.java @@ -0,0 +1,51 @@ +package students.kennethedelin; + +import java.util.ArrayList; + +public class Main { + + public static void main(String[] args) { + + + Student s1 = new Student(1, "Jordan", "Smith", "jordan.smith@email.com", 2, 3.8); + + Student s2 = new Student(2, "Marcus", "Brown", "marcus.brown@email.com", 1, 2.9); + + Student s3 = new Student(3, "Ava", "Johnson", "ava.johnson@email.com", 3, 3.6); + + + Instructor i1 = new Instructor(100, "Dr.", "Kenneth", "dr.rivera@email.com", "Computer Science"); + + Instructor i2 = new Instructor(101, "Prof.", "Edelin", "prof.lee@email.com", "Mathematics"); + + + i1.addStudent(s1); + i1.addStudent(s2); + + + i1.createAnnouncement("Midterm next Friday. Study Chapters 1-5."); + + i1.printRoster(); + + System.out.println(); + + + ArrayList people = new ArrayList<>(); + + people.add(s1); + + people.add(s2); + + people.add(s3); + + people.add(i1); + + people.add(i2); + + + for (Person p : people) { + + System.out.println(p.getSummary()); + } + } +} \ No newline at end of file diff --git a/src/main/java/students/kennethedelin/Person.java b/src/main/java/students/kennethedelin/Person.java new file mode 100644 index 0000000..741769c --- /dev/null +++ b/src/main/java/students/kennethedelin/Person.java @@ -0,0 +1,51 @@ +package students.kennethedelin; + +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(); + + protected String getFullName() { + + return firstName + " " + lastName; + } +} \ No newline at end of file diff --git a/src/main/java/students/kennethedelin/School.java b/src/main/java/students/kennethedelin/School.java new file mode 100644 index 0000000..db55386 --- /dev/null +++ b/src/main/java/students/kennethedelin/School.java @@ -0,0 +1,52 @@ +package students.kennethedelin; + +import java.util.ArrayList; + +public class School { + + private ArrayList students; + + private ArrayList instructors; + + public School() { + + this.students = new ArrayList<>(); + + this.instructors = new ArrayList<>(); + } + + public void addStudent(Student student) { + + if (student == null) return; + + students.add(student); + } + + public void addInstructor(Instructor instructor) { + + if (instructor == null) return; + + instructors.add(instructor); + } + + public void printDirectory() { + + System.out.println("=== SCHOOL DIRECTORY ==="); + + System.out.println("\nStudents:"); + + for (Student s : students) { + + System.out.println(" - " + s.getSummary()); + } + + System.out.println("\nInstructors:"); + + for (Instructor i : instructors) { + + System.out.println(" - " + i.getSummary()); + } + + System.out.println("========================"); + } +} \ No newline at end of file diff --git a/src/main/java/students/kennethedelin/Student.java b/src/main/java/students/kennethedelin/Student.java new file mode 100644 index 0000000..b1e1af8 --- /dev/null +++ b/src/main/java/students/kennethedelin/Student.java @@ -0,0 +1,43 @@ +package students.kennethedelin; + +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] " + getFullName() + + + " | Grade Level: " + gradeLevel + + " | GPA: " + String.format("%.1f", gpa) + + + " | Honor Roll: " + (isOnHonorRoll() ? "Yes" : "No"); + } +} \ No newline at end of file