用Java代码编写一个在线学习系统程序,实现课程加入、撤销、课程信息修改、课程信息查询等功能

时间: 2023-12-12 14:04:39 浏览: 24
好的,我可以给您提供一个简单的Java代码示例来实现在线学习系统程序。以下是代码实现: ``` import java.util.ArrayList; import java.util.List; // 课程类 class Course { private String courseId; // 课程编号 private String courseName; // 课程名称 private String courseIntro; // 课程介绍 private int selectedNum; // 已选人数 public Course(String courseId, String courseName, String courseIntro) { this.courseId = courseId; this.courseName = courseName; this.courseIntro = courseIntro; this.selectedNum = 0; } public String getCourseId() { return courseId; } public void setCourseId(String courseId) { this.courseId = courseId; } public String getCourseName() { return courseName; } public void setCourseName(String courseName) { this.courseName = courseName; } public String getCourseIntro() { return courseIntro; } public void setCourseIntro(String courseIntro) { this.courseIntro = courseIntro; } public int getSelectedNum() { return selectedNum; } public void setSelectedNum(int selectedNum) { this.selectedNum = selectedNum; } @Override public String toString() { return "Course{" + "courseId='" + courseId + '\'' + ", courseName='" + courseName + '\'' + ", courseIntro='" + courseIntro + '\'' + ", selectedNum=" + selectedNum + '}'; } } // 学生类 class Student { private String studentId; // 学生编号 private String studentName; // 学生姓名 private List<Course> selectedCourses; // 已选课程列表 public Student(String studentId, String studentName) { this.studentId = studentId; this.studentName = studentName; this.selectedCourses = new ArrayList<>(); } public String getStudentId() { return studentId; } public void setStudentId(String studentId) { this.studentId = studentId; } public String getStudentName() { return studentName; } public void setStudentName(String studentName) { this.studentName = studentName; } public List<Course> getSelectedCourses() { return selectedCourses; } public void setSelectedCourses(List<Course> selectedCourses) { this.selectedCourses = selectedCourses; } @Override public String toString() { return "Student{" + "studentId='" + studentId + '\'' + ", studentName='" + studentName + '\'' + ", selectedCourses=" + selectedCourses + '}'; } } // 在线学习系统类 class OnlineLearningSystem { private List<Course> courseList; // 课程列表 private List<Student> studentList; // 学生列表 public OnlineLearningSystem() { this.courseList = new ArrayList<>(); this.studentList = new ArrayList<>(); } // 课程加入 public void addCourse(Course course) { courseList.add(course); System.out.println("课程 " + course.getCourseName() + " 添加成功!"); } // 课程撤销 public void removeCourse(String courseId) { Course targetCourse = null; for (Course course : courseList) { if (course.getCourseId().equals(courseId)) { targetCourse = course; break; } } if (targetCourse != null) { courseList.remove(targetCourse); System.out.println("课程 " + targetCourse.getCourseName() + " 撤销成功!"); } else { System.out.println("未找到编号为 " + courseId + " 的课程!"); } } // 课程信息修改 public void modifyCourse(String courseId, String courseName, String courseIntro) { Course targetCourse = null; for (Course course : courseList) { if (course.getCourseId().equals(courseId)) { targetCourse = course; break; } } if (targetCourse != null) { targetCourse.setCourseName(courseName); targetCourse.setCourseIntro(courseIntro); System.out.println("课程 " + targetCourse.getCourseName() + " 修改成功!"); } else { System.out.println("未找到编号为 " + courseId + " 的课程!"); } } // 课程信息查询 public void queryCourse(String keyword) { List<Course> result = new ArrayList<>(); for (Course course : courseList) { if (course.getCourseId().contains(keyword) || course.getCourseName().contains(keyword)) { result.add(course); } } if (result.size() > 0) { System.out.println("查询结果如下:"); for (Course course : result) { System.out.println(course); } } else { System.out.println("未找到相关课程!"); } } // 学生选课 public void chooseCourse(String studentId, String courseId) { Course targetCourse = null; for (Course course : courseList) { if (course.getCourseId().equals(courseId)) { targetCourse = course; break; } } if (targetCourse != null) { if (targetCourse.getSelectedNum() >= 10) { System.out.println("课程 " + targetCourse.getCourseName() + " 选课人数已满!"); } else { Student targetStudent = null; for (Student student : studentList) { if (student.getStudentId().equals(studentId)) { targetStudent = student; break; } } if (targetStudent != null) { if (targetStudent.getSelectedCourses().contains(targetCourse)) { System.out.println("学生 " + targetStudent.getStudentName() + " 已选过该课程!"); } else { targetStudent.getSelectedCourses().add(targetCourse); targetCourse.setSelectedNum(targetCourse.getSelectedNum() + 1); System.out.println("学生 " + targetStudent.getStudentName() + " 选课成功!"); } } else { System.out.println("未找到编号为 " + studentId + " 的学生!"); } } } else { System.out.println("未找到编号为 " + courseId + " 的课程!"); } } // 学生退课 public void dropCourse(String studentId, String courseId) { Course targetCourse = null; for (Course course : courseList) { if (course.getCourseId().equals(courseId)) { targetCourse = course; break; } } if (targetCourse != null) { Student targetStudent = null; for (Student student : studentList) { if (student.getStudentId().equals(studentId)) { targetStudent = student; break; } } if (targetStudent != null) { if (targetStudent.getSelectedCourses().contains(targetCourse)) { targetStudent.getSelectedCourses().remove(targetCourse); targetCourse.setSelectedNum(targetCourse.getSelectedNum() - 1); System.out.println("学生 " + targetStudent.getStudentName() + " 退课成功!"); } else { System.out.println("学生 " + targetStudent.getStudentName() + " 未选过该课程!"); } } else { System.out.println("未找到编号为 " + studentId + " 的学生!"); } } else { System.out.println("未找到编号为 " + courseId + " 的课程!"); } } // 学生已选课程查询 public void querySelectedCourse(String studentId) { Student targetStudent = null; for (Student student : studentList) { if (student.getStudentId().equals(studentId)) { targetStudent = student; break; } } if (targetStudent != null) { if (targetStudent.getSelectedCourses().size() > 0) { System.out.println("学生 " + targetStudent.getStudentName() + " 已选课程如下:"); for (Course course : targetStudent.getSelectedCourses()) { System.out.println(course); } } else { System.out.println("学生 " + targetStudent.getStudentName() + " 未选任何课程!"); } } else { System.out.println("未找到编号为 " + studentId + " 的学生!"); } } } // 测试类 public class Test { public static void main(String[] args) { OnlineLearningSystem system = new OnlineLearningSystem(); // 添加课程 system.addCourse(new Course("C001", "Java程序设计", "Java基础知识和程序设计")); system.addCourse(new Course("C002", "Web开发技术", "Web开发中的HTML、CSS、JavaScript等技术")); system.addCourse(new Course("C003", "数据库设计", "数据库基础知识和设计技术")); // 查询课程 system.queryCourse("Java"); // 修改课程信息 system.modifyCourse("C001", "Java程序设计(进阶)", "Java高级知识和程序设计"); // 学生选课 system.chooseCourse("S001", "C001"); system.chooseCourse("S001", "C002"); system.chooseCourse("S002", "C001"); system.chooseCourse("S003", "C001"); system.chooseCourse("S004", "C001"); system.chooseCourse("S005", "C001"); system.chooseCourse("S006", "C001"); system.chooseCourse("S007", "C001"); system.chooseCourse("S008", "C001"); system.chooseCourse("S009", "C001"); system.chooseCourse("S010", "C001"); system.chooseCourse("S011", "C001"); // 学生已选课程查询 system.querySelectedCourse("S001"); // 学生退课 system.dropCourse("S001", "C002"); // 课程撤销 system.removeCourse("C003"); } } ``` 以上代码实现了课程加入、撤销、课程信息修改、课程信息查询、学生选课、学生退课、学生已选课程查询等功能,您可以根据需要进行修改或完善。同时,需要注意的是,以上代码只是一个简单的实现示例,实际应用中需要考虑到更多的细节问题。

相关推荐

最新推荐

recommend-type

使用Java程序模拟实现新冠病毒传染效果

主要介绍了用Java程序模拟实现新冠病毒传染效果,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
recommend-type

JAVA记事本课程设计报告

一、记事本 (一)记事本界面 (1)菜单栏、菜单、菜单子条目 (2)可用于编辑的文本区 (二)文件菜单 (1)新建功能 (2)打开功能 (3)保存功能 (4)另存为功能 ...(4)、代码实现 (5)、总结
recommend-type

微信小程序实现签字功能

主要介绍了微信小程序实现签字功能,本文通过效果图展示,实例代码讲解的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
recommend-type

处理机管理课程设计(操作系统)

进程控制块表,简称PCB表,每个进程在表中占一行,每个进程的那行信息称为一个进程控制块。 PCB表的内容包括:进程号、进程状态、进程调度优先级、现场信息、就绪队列指针和等待队列指针、页表或界址寄存器、打开...
recommend-type

基于随机森林的数据分类预测Matlab程序RF 多特征输入多类别输出

基于随机森林的数据分类预测Matlab程序RF 多特征输入多类别输出 基于随机森林的数据分类预测Matlab程序RF 多特征输入多类别输出 基于随机森林的数据分类预测Matlab程序RF 多特征输入多类别输出 基于随机森林的数据分类预测Matlab程序RF 多特征输入多类别输出 基于随机森林的数据分类预测Matlab程序RF 多特征输入多类别输出 基于随机森林的数据分类预测Matlab程序RF 多特征输入多类别输出 基于随机森林的数据分类预测Matlab程序RF 多特征输入多类别输出 基于随机森林的数据分类预测Matlab程序RF 多特征输入多类别输出 基于随机森林的数据分类预测Matlab程序RF 多特征输入多类别输出
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

深入了解MATLAB开根号的最新研究和应用:获取开根号领域的最新动态

![matlab开根号](https://www.mathworks.com/discovery/image-segmentation/_jcr_content/mainParsys3/discoverysubsection_1185333930/mainParsys3/image_copy.adapt.full.medium.jpg/1712813808277.jpg) # 1. MATLAB开根号的理论基础 开根号运算在数学和科学计算中无处不在。在MATLAB中,开根号可以通过多种函数实现,包括`sqrt()`和`nthroot()`。`sqrt()`函数用于计算正实数的平方根,而`nt
recommend-type

react的函数组件的使用

React 的函数组件是一种简单的组件类型,用于定义无状态或者只读组件。 它们通常接受一个 props 对象作为参数并返回一个 React 元素。 函数组件的优点是代码简洁、易于测试和重用,并且它们使 React 应用程序的性能更加出色。 您可以使用函数组件来呈现简单的 UI 组件,例如按钮、菜单、标签或其他部件。 您还可以将它们与 React 中的其他组件类型(如类组件或 Hooks)结合使用,以实现更复杂的 UI 交互和功能。
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。