10.24

交作业了
import java.util.*;

// 模拟课程类
class Course {
private String name;
private String teacher;
private String location;

public Course(String name, String teacher, String location) {
    this.name = name;
    this.teacher = teacher;
    this.location = location;
}

// getters
public String getName() { return name; }
public String getTeacher() { return teacher; }
public String getLocation() { return location; }

@Override
public boolean equals(Object obj) {
    if (this == obj) return true;
    if (obj == null || getClass() != obj.getClass()) return false;
    Course course = (Course) obj;
    return Objects.equals(name, course.name) &&
           Objects.equals(teacher, course.teacher) &&
           Objects.equals(location, course.location);
}

@Override
public int hashCode() {
    return Objects.hash(name, teacher, location);
}

}

public class CourseManager {
// 模拟数据库存储
private static Set courseDatabase = new HashSet<>();
private static final Set VALID_TEACHERS = Set.of(
"王建民", "刘立嘉", "刘丹", "杨子光", "张云霞", "武勇亮", "高飞", "孙静"
);
private static final Set VALID_LOCATION_PREFIXES = Set.of(
"一教", "二教", "三教", "基教"
);

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);

    while (true) {
        System.out.println("请输入新课程信息(格式:课程名称,任课教师,上课地点),输入 exit 退出:");
        String input = scanner.nextLine().trim();

        if ("exit".equalsIgnoreCase(input)) {
            break;
        }

        String[] parts = input.split(",");
        if (parts.length != 3) {
            System.out.println("输入格式错误,请按“课程名称,任课教师,上课地点”格式输入。");
            continue;
        }

        String name = parts[0].trim();
        String teacher = parts[1].trim();
        String location = parts[2].trim();

        // 检查课程是否重复
        Course newCourse = new Course(name, teacher, location);
        if (courseDatabase.contains(newCourse)) {
            System.out.println("课程名称、数量、重新录入");
            continue;
        }

        // 检查教师是否合法
        if (!VALID_TEACHERS.contains(teacher)) {
            System.out.println("任课教师不符合要求,请重新录入。");
            continue;
        }

        // 检查地点前缀
        boolean validLocation = false;
        for (String prefix : VALID_LOCATION_PREFIXES) {
            if (location.startsWith(prefix)) {
                validLocation = true;
                break;
            }
        }
        if (!validLocation) {
            System.out.println("上课地点不符合要求,请重新录入。");
            continue;
        }

        // 添加到“数据库”
        courseDatabase.add(newCourse);
        System.out.println("课程添加成功!");
    }

    scanner.close();
    System.out.println("程序结束。当前课程总数:" + courseDatabase.size());
}

}

posted @ 2025-10-24 20:12  春酲01  阅读(2)  评论(0)    收藏  举报