diff --git a/src/main/java/students/mesheikbrown/Instructor.java b/src/main/java/students/mesheikbrown/Instructor.java new file mode 100644 index 0000000..746c529 --- /dev/null +++ b/src/main/java/students/mesheikbrown/Instructor.java @@ -0,0 +1,46 @@ +package students.mesheikbrown; + +import java.util.ArrayList; + +public class Instructor extends Person{ + + private String department; + private ArrayList 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 String getDepartment() { + return department; + } + + public void addStudent(Student student){ + students.add(student); + } + + public void removeStudent(Student student){ + students.remove(student); + } + + public void displayRoster() { + System.out.println("[Instructor] Dr." + super.getfirstName() + "'s Roster:"); + for(Student student : students) { + student.getSummary(); + } + System.out.println(""); + } + + //returns whatever value is stored in method + public void createAnnouncement(String message){ + System.out.println(message); + } + + @Override + public void getSummary(){ + System.out.println("[Instructor] Dr. " + super.getfirstName() + " | " + "Department: " + getDepartment()); + } + +} diff --git a/src/main/java/students/mesheikbrown/Person.java b/src/main/java/students/mesheikbrown/Person.java new file mode 100644 index 0000000..a09bbc9 --- /dev/null +++ b/src/main/java/students/mesheikbrown/Person.java @@ -0,0 +1,54 @@ +package students.mesheikbrown; + +public abstract class Person { + + private int id; + private String fistName; + private String lastName; + private String email; + + + public Person(int id , String fistName, String lastName, String email){ + this.id = id; + this.fistName = fistName; + this .lastName = lastName; + this.email = email; + } + + //Getter + public int getId() { + return id; + } + + public String getfirstName() { + return fistName; + } + + public String getlastName() { + return lastName; + } + + public String getEmail() { + return email; + } + + //Setters + public void setId(int id) { + this.id = id; + } + + public void setFirstName(String firstName) { + this.fistName = firstName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public void setEmail(String email) { + this.email = email; + } + + public abstract void getSummary(); + +}// end of class diff --git a/src/main/java/students/mesheikbrown/SchoolM.java b/src/main/java/students/mesheikbrown/SchoolM.java new file mode 100644 index 0000000..08ce043 --- /dev/null +++ b/src/main/java/students/mesheikbrown/SchoolM.java @@ -0,0 +1,50 @@ +package students.mesheikbrown; + +public class SchoolM { + + public static void main(String[] args) { + + // Create Instructor + Instructor instructor = new Instructor( + 100, + "Mesheik", + "Brown", + "Mesheik@school.com", + "Computer Science" + ); + + // Create Students + Student student1 = new Student( + 1, + "Jordan", + "Smith", + "jordan@school.com", + 2, + 3.8 + ); + + Student student2 = new Student( + 2, + "Marcus", + "Brown", + "marcus@school.com", + 1, + 2.9 + ); + + // Add students to instructor roster + instructor.addStudent(student1); + instructor.addStudent(student2); + + // Print instructor summary + instructor.getSummary(); + System.out.println(); + + // Print roster + instructor.displayRoster(); + + // Create announcement + instructor.createAnnouncement("Midterm exam is Friday. Study hard!!"); + + } +} \ No newline at end of file diff --git a/src/main/java/students/mesheikbrown/Student.java b/src/main/java/students/mesheikbrown/Student.java new file mode 100644 index 0000000..a341db5 --- /dev/null +++ b/src/main/java/students/mesheikbrown/Student.java @@ -0,0 +1,38 @@ +package students.mesheikbrown; + +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 String isOnHonorRoll(double gpa){ + if(gpa >= 3.2){ + return "Yes"; + }else { + return "No"; + } + + } + + public int getgradeLevel() { + return gradeLevel; + } + + public double getgpa() { + return gpa; + } + + @Override + public void getSummary(){ + System.out.println("Student " + super.getfirstName() + " " + super.getlastName() + " |" + " Grade Level: " + + getgradeLevel() + " | " + "GPA: " + getgpa() + " | " + "Honor Roll: " + isOnHonorRoll(getgpa())); + } +} // ends class diff --git a/src/main/java/students/mesheikbrown/Walkthough.puml b/src/main/java/students/mesheikbrown/Walkthough.puml new file mode 100644 index 0000000..26d0e5f --- /dev/null +++ b/src/main/java/students/mesheikbrown/Walkthough.puml @@ -0,0 +1,62 @@ +@startuml +'https://plantuml.com/class-diagram + +abstract class Person { + -id: int + -firstName: String + -lastName: String + -email: String + + +Person(id: int, firstName: String, lastName: String, email: String) + + {abstract} +getSummary(): String + + +getId(): int + +getFirstName(): String + +getLastName(): String + +getEmail(): String +} + +class Student { + -gradeLevel: int + -gpa: double + + +Student(id: int, firstName: String, lastName: String, email: String, + gradeLevel: int, gpa: double) + + +getSummary(): String + +isOnHonorRoll(): boolean + + +getGradeLevel(): int + +getGpa(): double + +} + +class Instructor { + -department: String + -assignedStudents: List + + +Instructor(id: int, firstName: String, lastName: String, email: String, + department: String) + + +getSummary(): String + +createAnnouncement(message: String): void + + +addStudent(student: Student): void + +printRoster(): void + + +getDepartment(): String +} + +class Main { + +main(args: String[]): void +} + +Person <|-- Student +Person <|-- Instructor + +Instructor "1" o-- "*" Student : assignedStudents +Main --> Person : List + + +@enduml \ No newline at end of file