code and setup
This commit is contained in:
@@ -0,0 +1,125 @@
|
||||
# 🧙♂️ Workshop: Hogwarts School System - A Magical OOP Adventure
|
||||
|
||||
## Welcome, Young Wizard!
|
||||
|
||||
> *"The sorting hat has placed you in Gryffindor... No, wait! It placed you in the **Java Development** house!"*
|
||||
|
||||
Welcome to the **Hogwarts School System** workshop! This magical journey will help you master the fundamentals of **Object-Oriented Programming (OOP)** through a fun, wizard-themed project.
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Workshop Objectives
|
||||
|
||||
By completing this workshop, you will learn and practice:
|
||||
|
||||
| Concept | How it's used in this project |
|
||||
|---------|-------------------------------|
|
||||
| **Encapsulation** | Private fields with public getters/setters |
|
||||
| **Inheritance** | `Student` and `Teacher` extend `User` |
|
||||
| **Polymorphism** | Different user types with same methods |
|
||||
| **Abstraction** | Abstract `User` class with common behavior |
|
||||
| **Lists & Collections** | Managing students, teachers, and courses with `ArrayList` |
|
||||
| **Input Validation** | Validating usernames and passwords |
|
||||
| **ID-based Selection** | Finding courses by unique ID instead of name |
|
||||
|
||||
---
|
||||
|
||||
## 🏰 Storyline
|
||||
|
||||
*Professor Dumbledore has asked you to help modernize Hogwarts! The old parchment-based course enrollment system is a disaster. Students keep signing up for the wrong classes, and Professor Snape is furious because his Potions class is full of first-year students who can't tell a bezoar from a newt's eye.*
|
||||
|
||||
*Your mission: Build a digital School Management System that allows:*
|
||||
|
||||
- *Students to view available courses and enroll using magical Course IDs*
|
||||
- *Teachers to create new courses and manage their classes*
|
||||
- *Everyone to log in securely (even Filch needs to check who's where)*
|
||||
|
||||
---
|
||||
|
||||
## 📚 Class Hierarchy Diagram
|
||||
┌─────────────────┐
|
||||
│ User │
|
||||
│ (Abstract) │
|
||||
└────────┬────────┘
|
||||
│
|
||||
┌──────────────┴──────────────┐
|
||||
│ │
|
||||
┌─────▼─────┐ ┌─────▼─────┐
|
||||
│ Student │ │ Teacher │
|
||||
└─────┬─────┘ └─────┬─────┘
|
||||
│ │
|
||||
┌─────▼─────┐ ┌─────▼─────┐
|
||||
│enrolled │ │ myCourses │
|
||||
│ Courses │ │ (List) │
|
||||
└───────────┘ └───────────┘
|
||||
|
||||
┌─────────────────┐
|
||||
│ Course │
|
||||
├─────────────────┤
|
||||
│ - id (static) │
|
||||
│ - name │
|
||||
│ - teacher │
|
||||
│ - students │
|
||||
└─────────────────┘
|
||||
│
|
||||
│ contains
|
||||
▼
|
||||
┌─────────────────┐
|
||||
│ SchoolSystem │
|
||||
│ (Service) │
|
||||
└─────────────────┘
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 📋 Complete TODO List
|
||||
|
||||
### 🔧 Student.java (3 TODOs)
|
||||
|
||||
| # | Method | Description |
|
||||
|---|--------|-------------|
|
||||
| 1 | `enrollInCourse(Course course)` | Register student in a course |
|
||||
| 2 | `showMyCourses()` | Display all enrolled courses |
|
||||
| 3 | `getEnrolledCourses()` | Return list of enrolled courses |
|
||||
|
||||
### 🔧 SchoolSystem.java (5 TODOs)
|
||||
|
||||
| # | Method | Description |
|
||||
|---|--------|-------------|
|
||||
| 4 | `registerStudent(String username, String password)` | Register new student |
|
||||
| 5 | `loginStudent(String username, String password)` | Student login |
|
||||
| 6 | `findStudent(String username)` | Find student by username (private) |
|
||||
| 7 | `addCourseToSystem(String courseName)` | Add new course to system |
|
||||
| 8 | `findCourseById(int id)` | Find course by ID |
|
||||
|
||||
### 🔧 Main.java (4 TODOs)
|
||||
|
||||
| # | Location | Description |
|
||||
|---|----------|-------------|
|
||||
| 9 | `registerMenu()` - case 1 | Student registration |
|
||||
| 10 | `loginMenu()` - case 1 | Student login |
|
||||
| 11 | `studentMenu()` - case 3 | Show my courses |
|
||||
| 12 | `enrollInCourse(Student student)` | Enroll logic |
|
||||
|
||||
### 📊 Summary
|
||||
|
||||
| File | TODO Count |
|
||||
|------|------------|
|
||||
| Student.java | 3 |
|
||||
| SchoolSystem.java | 5 |
|
||||
| Main.java | 4 |
|
||||
| **Total** | **12** |
|
||||
|
||||
---
|
||||
|
||||
## ℹ️ Note
|
||||
|
||||
> This exercise is for practice only and has no bouns.
|
||||
> Students can complete it in class with TA assistance.
|
||||
|
||||
**Good luck, young wizard!** ✨
|
||||
@@ -7,4 +7,16 @@
|
||||
<groupId>org.example</groupId>
|
||||
<artifactId>WS-04-oop-review</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<source>14</source>
|
||||
<target>14</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
|
||||
@@ -0,0 +1,282 @@
|
||||
import models.*;
|
||||
import services.*;
|
||||
import java.util.Scanner;
|
||||
|
||||
public class Main {
|
||||
private static SchoolSystem school = new SchoolSystem();
|
||||
private static Scanner scanner = new Scanner(System.in);
|
||||
|
||||
public static void main(String[] args) {
|
||||
school.addCourseToSystem("Potions");
|
||||
school.addCourseToSystem("Defense Against Dark Arts");
|
||||
school.addCourseToSystem("Transfiguration");
|
||||
|
||||
runMainMenu();
|
||||
}
|
||||
|
||||
private static void runMainMenu() {
|
||||
while (true) {
|
||||
System.out.println("\n HOGWARTS SCHOOL SYSTEM ");
|
||||
System.out.println("1. Register (Sign Up)");
|
||||
System.out.println("2. Login");
|
||||
System.out.println("3. Exit");
|
||||
System.out.print("\nChoose: ");
|
||||
|
||||
int choice = getIntInput();
|
||||
|
||||
switch (choice) {
|
||||
case 1:
|
||||
registerMenu();
|
||||
break;
|
||||
case 2:
|
||||
loginMenu();
|
||||
break;
|
||||
case 3:
|
||||
System.out.println(" Goodbye!");
|
||||
return;
|
||||
default:
|
||||
System.out.println(" Invalid choice!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void registerMenu() {
|
||||
System.out.println("\n══════════ REGISTER ══════════");
|
||||
System.out.println("1. Register as Student");
|
||||
System.out.println("2. Register as Teacher");
|
||||
System.out.println("3. Back");
|
||||
System.out.print("Choose: ");
|
||||
|
||||
int choice = getIntInput();
|
||||
|
||||
System.out.print("Enter username: ");
|
||||
String username = scanner.nextLine();
|
||||
|
||||
String usernameError = User.validateUsername(username);
|
||||
if (usernameError != null) {
|
||||
System.out.println(" " + usernameError);
|
||||
return;
|
||||
}
|
||||
|
||||
System.out.print("Enter password: ");
|
||||
String password = scanner.nextLine();
|
||||
|
||||
String passwordError = User.validatePassword(password);
|
||||
if (passwordError != null) {
|
||||
System.out.println(" " + passwordError);
|
||||
return;
|
||||
}
|
||||
|
||||
boolean success;
|
||||
switch (choice) {
|
||||
case 1:
|
||||
//TODO
|
||||
break;
|
||||
case 2:
|
||||
success = school.registerTeacher(username, password);
|
||||
if (success) {
|
||||
System.out.println(" Teacher registered successfully!");
|
||||
} else {
|
||||
System.out.println(" Username already exists!");
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
return;
|
||||
default:
|
||||
System.out.println(" Invalid choice!");
|
||||
}
|
||||
}
|
||||
|
||||
private static void loginMenu() {
|
||||
System.out.println("\n══════════ LOGIN ══════════");
|
||||
System.out.println("1. Login as Student");
|
||||
System.out.println("2. Login as Teacher");
|
||||
System.out.println("3. Back");
|
||||
System.out.print("Choose: ");
|
||||
|
||||
int choice = getIntInput();
|
||||
|
||||
System.out.print("Username: ");
|
||||
String username = scanner.nextLine();
|
||||
System.out.print("Password: ");
|
||||
String password = scanner.nextLine();
|
||||
|
||||
switch (choice) {
|
||||
case 1:
|
||||
//TODO
|
||||
break;
|
||||
case 2:
|
||||
Teacher teacher = school.loginTeacher(username, password);
|
||||
if (teacher != null) {
|
||||
teacherMenu(teacher);
|
||||
} else {
|
||||
System.out.println(" Invalid username or password!");
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
return;
|
||||
default:
|
||||
System.out.println(" Invalid choice!");
|
||||
}
|
||||
}
|
||||
|
||||
// ==================== STUDENT MENU ====================
|
||||
private static void studentMenu(Student student) {
|
||||
while (true) {
|
||||
System.out.println("\n══════════ STUDENT DASHBOARD ══════════");
|
||||
System.out.println("Welcome, " + student.getUsername() + "!");
|
||||
System.out.println("1. View All Available Courses");
|
||||
System.out.println("2. Enroll in a Course");
|
||||
System.out.println("3. View My Courses");
|
||||
System.out.println("4. Logout");
|
||||
System.out.print("\nChoose: ");
|
||||
|
||||
int choice = getIntInput();
|
||||
|
||||
switch (choice) {
|
||||
case 1:
|
||||
school.showAllCourses();
|
||||
break;
|
||||
case 2:
|
||||
enrollInCourse(student);
|
||||
break;
|
||||
case 3:
|
||||
//student.showMyCourses();
|
||||
break;
|
||||
case 4:
|
||||
System.out.println(" Goodbye, " + student.getUsername() + "!");
|
||||
return;
|
||||
default:
|
||||
System.out.println(" Invalid choice!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void enrollInCourse(Student student) {
|
||||
//TODO
|
||||
}
|
||||
|
||||
// ==================== TEACHER MENU ====================
|
||||
private static void teacherMenu(Teacher teacher) {
|
||||
while (true) {
|
||||
System.out.println("\n══════════ TEACHER DASHBOARD ══════════");
|
||||
System.out.println("Welcome, Professor " + teacher.getUsername() + "!");
|
||||
System.out.println("1. View All Available Courses");
|
||||
System.out.println("2. Add New Course to System");
|
||||
System.out.println("3. View My Courses");
|
||||
System.out.println("4. Add Course to My List (by ID)");
|
||||
System.out.println("5. Remove Course from My List (by ID)");
|
||||
System.out.println("6. View Students in My Course (by ID)");
|
||||
System.out.println("7. Logout");
|
||||
System.out.print("\nChoose: ");
|
||||
|
||||
int choice = getIntInput();
|
||||
|
||||
switch (choice) {
|
||||
case 1:
|
||||
school.showAllCourses();
|
||||
break;
|
||||
case 2:
|
||||
addNewCourseToSystem(teacher);
|
||||
break;
|
||||
case 3:
|
||||
teacher.showMyCourses();
|
||||
break;
|
||||
case 4:
|
||||
addCourseToTeacher(teacher);
|
||||
break;
|
||||
case 5:
|
||||
removeCourseFromTeacher(teacher);
|
||||
break;
|
||||
case 6:
|
||||
showStudentsInTeacherCourse(teacher);
|
||||
break;
|
||||
case 7:
|
||||
System.out.println(" Goodbye, Professor " + teacher.getUsername() + "!");
|
||||
return;
|
||||
default:
|
||||
System.out.println(" Invalid choice!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void addNewCourseToSystem(Teacher teacher) {
|
||||
System.out.print("Enter new course name: ");
|
||||
String courseName = scanner.nextLine();
|
||||
|
||||
if (school.addCourseToSystem(courseName)) {
|
||||
System.out.println(" Course '" + courseName + "' created successfully!");
|
||||
Course newCourse = school.findCourseByName(courseName);
|
||||
if (newCourse != null) {
|
||||
teacher.addCourse(newCourse);
|
||||
}
|
||||
} else {
|
||||
System.out.println(" Course already exists!");
|
||||
}
|
||||
}
|
||||
|
||||
private static void addCourseToTeacher(Teacher teacher) {
|
||||
school.showAllCourses();
|
||||
System.out.print("\nEnter Course ID to add to your list: ");
|
||||
int courseId = getIntInput();
|
||||
|
||||
Course course = school.findCourseById(courseId);
|
||||
if (course == null) {
|
||||
System.out.println(" Course not found!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (teacher.addCourse(course)) {
|
||||
System.out.println(" Course '" + course.getName() + "' added to your list!");
|
||||
} else {
|
||||
System.out.println(" You already teach this course!");
|
||||
}
|
||||
}
|
||||
|
||||
private static void removeCourseFromTeacher(Teacher teacher) {
|
||||
teacher.showMyCourses();
|
||||
if (teacher.getMyCourses().isEmpty()) return;
|
||||
|
||||
System.out.print("\nEnter Course ID to remove from your list: ");
|
||||
int courseId = getIntInput();
|
||||
|
||||
Course course = school.findCourseById(courseId);
|
||||
if (course == null) {
|
||||
System.out.println(" Course not found!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (teacher.removeCourse(course)) {
|
||||
System.out.println(" Course '" + course.getName() + "' removed from your list!");
|
||||
} else {
|
||||
System.out.println(" You don't teach this course!");
|
||||
}
|
||||
}
|
||||
|
||||
private static void showStudentsInTeacherCourse(Teacher teacher) {
|
||||
teacher.showMyCourses();
|
||||
if (teacher.getMyCourses().isEmpty()) return;
|
||||
|
||||
System.out.print("\nEnter Course ID to see students: ");
|
||||
int courseId = getIntInput();
|
||||
|
||||
Course course = school.findCourseById(courseId);
|
||||
if (course == null) {
|
||||
System.out.println(" Course not found!");
|
||||
return;
|
||||
}
|
||||
|
||||
teacher.showStudentsInCourse(course);
|
||||
}
|
||||
|
||||
private static int getIntInput() {
|
||||
try {
|
||||
int value = scanner.nextInt();
|
||||
scanner.nextLine();
|
||||
return value;
|
||||
} catch (Exception e) {
|
||||
scanner.nextLine();
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
package models;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class Course {
|
||||
private static int nextId = 1;
|
||||
|
||||
private int id;
|
||||
private String name;
|
||||
private Teacher teacher;
|
||||
private List<Student> students;
|
||||
|
||||
public Course(String name) {
|
||||
this.id = nextId++;
|
||||
this.name = name;
|
||||
this.students = new ArrayList<>();
|
||||
}
|
||||
|
||||
public int getId() { return id; }
|
||||
public String getName() { return name; }
|
||||
public Teacher getTeacher() { return teacher; }
|
||||
|
||||
public void setTeacher(Teacher teacher) {
|
||||
this.teacher = teacher;
|
||||
}
|
||||
|
||||
public boolean addStudent(Student student) {
|
||||
if (students.contains(student)) {
|
||||
return false;
|
||||
}
|
||||
students.add(student);
|
||||
return true;
|
||||
}
|
||||
|
||||
public List<Student> getStudents() {
|
||||
return students; // ساده، بدون unmodifiable
|
||||
}
|
||||
|
||||
public void showStudents() {
|
||||
if (students.isEmpty()) {
|
||||
System.out.println(" No students enrolled yet.");
|
||||
} else {
|
||||
System.out.println(" Students in " + name + ":");
|
||||
for (Student s : students) {
|
||||
System.out.println(" - " + s.getUsername());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj) return true;
|
||||
if (obj == null || getClass() != obj.getClass()) return false;
|
||||
Course course = (Course) obj;
|
||||
return id == course.id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
if (teacher != null) {
|
||||
return "[ID:" + id + "] " + name + " (Teacher: " + teacher.getUsername() + ")";
|
||||
} else {
|
||||
return "[ID:" + id + "] " + name + " (No teacher assigned)";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package models;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class Student extends User {
|
||||
private List<Course> enrolledCourses;
|
||||
|
||||
public Student(String username, String password) {
|
||||
super(username, password);
|
||||
this.enrolledCourses = new ArrayList<>();
|
||||
}
|
||||
//TODO(complete the student class)
|
||||
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package models;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class Teacher extends User {
|
||||
private List<Course> myCourses;
|
||||
|
||||
public Teacher(String username, String password) {
|
||||
super(username, password);
|
||||
this.myCourses = new ArrayList<>();
|
||||
}
|
||||
|
||||
public boolean addCourse(Course course) {
|
||||
if (myCourses.contains(course)) {
|
||||
return false;
|
||||
}
|
||||
myCourses.add(course);
|
||||
course.setTeacher(this);
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean removeCourse(Course course) {
|
||||
if (myCourses.remove(course)) {
|
||||
course.setTeacher(null);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public List<Course> getMyCourses() {
|
||||
return myCourses;
|
||||
}
|
||||
|
||||
public void showMyCourses() {
|
||||
if (myCourses.isEmpty()) {
|
||||
System.out.println(" You don't teach any course yet.");
|
||||
} else {
|
||||
System.out.println("\n My Courses:");
|
||||
for (int i = 0; i < myCourses.size(); i++) {
|
||||
System.out.println(" " + (i+1) + ". " + myCourses.get(i));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void showStudentsInCourse(Course course) {
|
||||
if (!myCourses.contains(course)) {
|
||||
System.out.println(" You don't teach this course!");
|
||||
return;
|
||||
}
|
||||
course.showStudents();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package models;
|
||||
|
||||
public abstract class User {
|
||||
protected String username;
|
||||
protected String password; // ساده نگه میداریم برای سطح مقدماتی
|
||||
|
||||
public User(String username, String password) {
|
||||
this.username = username;
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public String getUsername() { return username; }
|
||||
|
||||
public boolean checkPassword(String password) {
|
||||
return this.password.equals(password);
|
||||
}
|
||||
|
||||
public static String validateUsername(String username) {
|
||||
if (username == null || username.trim().isEmpty()) {
|
||||
return "Username cannot be empty!";
|
||||
}
|
||||
if (username.length() < 3) {
|
||||
return "Username must be at least 3 characters!";
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static String validatePassword(String password) {
|
||||
if (password == null || password.length() < 4) {
|
||||
return "Password must be at least 4 characters!";
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj) return true;
|
||||
if (obj == null || getClass() != obj.getClass()) return false;
|
||||
User user = (User) obj;
|
||||
return username.equalsIgnoreCase(user.username);
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
package org.example;
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
System.out.println("Welcome to Movie App!");
|
||||
Movie movie = new Movie("Inception", "Christopher Nolan", 2010, 8.8);
|
||||
System.out.println(movie.getTitle());
|
||||
}
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
package org.example;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class Movie {
|
||||
private String title;
|
||||
private String director;
|
||||
private int year;
|
||||
private double rating;
|
||||
private List<String> images; // درست شد: از آرایه به لیست تغییر کرد
|
||||
|
||||
public Movie(String title, String director, int year, double rating) {
|
||||
this.title = title;
|
||||
this.director = director;
|
||||
this.year = year;
|
||||
this.rating = rating;
|
||||
this.images = new ArrayList<>();
|
||||
}
|
||||
|
||||
// Getters and Setters
|
||||
public String getTitle() { return title; }
|
||||
public void setTitle(String title) { this.title = title; }
|
||||
public String getDirector() { return director; }
|
||||
public void setDirector(String director) { this.director = director; }
|
||||
public int getYear() { return year; }
|
||||
public void setYear(int year) { this.year = year; }
|
||||
public double getRating() { return rating; }
|
||||
public void setRating(double rating) { this.rating = rating; }
|
||||
public List<String> getImages() { return images; }
|
||||
public void setImages(List<String> images) { this.images = images; }
|
||||
|
||||
// متدهای اضافی برای مدیریت تصاویر
|
||||
public void addImage(String imageUrl) {
|
||||
this.images.add(imageUrl);
|
||||
}
|
||||
|
||||
public void removeImage(String imageUrl) {
|
||||
this.images.remove(imageUrl);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Movie{title='" + title + "', director='" + director +
|
||||
"', year=" + year + ", rating=" + rating + ", images=" + images + "}";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
package services;
|
||||
|
||||
import models.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class SchoolSystem {
|
||||
private List<Student> students;
|
||||
private List<Teacher> teachers;
|
||||
private List<Course> allCourses;
|
||||
|
||||
public SchoolSystem() {
|
||||
this.students = new ArrayList<>();
|
||||
this.teachers = new ArrayList<>();
|
||||
this.allCourses = new ArrayList<>();
|
||||
}
|
||||
|
||||
// ========== Student Management ==========
|
||||
//TODO
|
||||
|
||||
// ========== Teacher Management ==========
|
||||
public boolean registerTeacher(String username, String password) {
|
||||
if (findTeacher(username) != null) {
|
||||
return false;
|
||||
}
|
||||
teachers.add(new Teacher(username, password));
|
||||
return true;
|
||||
}
|
||||
|
||||
public Teacher loginTeacher(String username, String password) {
|
||||
Teacher teacher = findTeacher(username);
|
||||
if (teacher != null && teacher.checkPassword(password)) {
|
||||
return teacher;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private Teacher findTeacher(String username) {
|
||||
for (Teacher t : teachers) {
|
||||
if (t.getUsername().equals(username)) return t;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// ========== Course Management ==========
|
||||
public boolean addCourseToSystem(String courseName) {
|
||||
//TODO
|
||||
return true;
|
||||
}
|
||||
|
||||
public Course findCourseById(int id) {
|
||||
//TODO
|
||||
return null;
|
||||
}
|
||||
|
||||
public Course findCourseByName(String name) {
|
||||
for (Course c : allCourses) {
|
||||
if (c.getName().equalsIgnoreCase(name)) return c;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public void showAllCourses() {
|
||||
if (allCourses.isEmpty()) {
|
||||
System.out.println(" No courses available yet.");
|
||||
} else {
|
||||
System.out.println("\n All Available Courses:");
|
||||
for (int i = 0; i < allCourses.size(); i++) {
|
||||
System.out.println(" " + (i+1) + ". " + allCourses.get(i));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public List<Course> getAllCourses() {
|
||||
return allCourses;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user