添加课程程序

  1. 课程信息管理类。

  2. 数据库连接和操作类。

  3. 主程序类,用于演示如何使用这些类。

  4. 课程信息管理类

import java.util.HashSet;
import java.util.Set;

public class CourseManager {
private Set existingCourses = new HashSet<>();
private String[] validTeachers = {"王建民", "刘立嘉", "刘丹", "杨子光", "张云霞", "武永亮", "高飞", "孙静", "黄荣峰"};
private String[] validLocations = {"一教", "二教", "三教", "基教"};
private DatabaseManager dbManager = new DatabaseManager();

public void addCourse(String courseName, String teacherName, String location) {
    if (existingCourses.contains(courseName)) {
        System.out.println("课程名称重复,请重新录入。");
    } else if (!isValidTeacher(teacherName) || !isValidLocation(location)) {
        System.out.println("无效的教师或地点。");
    } else {
        existingCourses.add(courseName);
        dbManager.saveCourseToDatabase(courseName, teacherName, location);
        System.out.println("课程添加成功!");
    }
}

private boolean isValidTeacher(String teacherName) {
    for (String teacher : validTeachers) {
        if (teacher.equals(teacherName)) {
            return true;
        }
    }
    return false;
}

private boolean isValidLocation(String location) {
    for (String loc : validLocations) {
        if (loc.equals(location)) {
            return true;
        }
    }
    return false;
}

}
2. 数据库连接和操作类

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class DatabaseManager {
private static final String JDBC_URL = "jdbc:mysql://localhost:3306/your_database";
private static final String USER = "your_username";
private static final String PASS = "your_password";

public void saveCourseToDatabase(String courseName, String teacherName, String location) {
    String sql = "INSERT INTO courses (course_name, teacher_name, location) VALUES (?, ?, ?)";
    try (Connection conn = DriverManager.getConnection(JDBC_URL, USER, PASS);
         PreparedStatement pstmt = conn.prepareStatement(sql)) {

        pstmt.setString(1, courseName);
        pstmt.setString(2, teacherName);
        pstmt.setString(3, location);
        int rowsInserted = pstmt.executeUpdate();
        if (rowsInserted > 0) {
            System.out.println("A new course was inserted successfully!");
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

}
3. 主程序类

public class Main {
public static void main(String[] args) {
CourseManager manager = new CourseManager();
manager.addCourse("数学", "王建民", "一教");
manager.addCourse("物理", "刘立嘉", "二教");
manager.addCourse("数学", "王建民", "一教"); // 尝试添加重复课程
}
}
注意事项

  1. 数据库配置:请将JDBC_URL, USER, PASS替换为自己的数据库URL、用户名和密码。
  2. 数据库表结构:建一个名为courses的表,并且该表至少包含course_name, teacher_name, location这三个字段。
posted @ 2025-03-08 22:26  Echosssss  阅读(16)  评论(0)    收藏  举报