利用java实现文件SelectCourse.java:负责选课的业务逻辑; (5)文件MainProcess.java:负责整体业务流程; (6)学生选课成功后,选课状态变更为“已选”,否则,课程状态变更为“可选”;学生选择“已选”课程,提示“该课程无法重复选择”; (7)学生选课成功后,选课人数相应发生变化;
时间: 2024-02-13 09:01:44 浏览: 127
基于JAVA语言的学生选课管理系统的设计与实现.docx
5星 · 资源好评率100%
好的,我可以为你提供一个简单的代码实现,满足你的需求。代码如下:
SelectCourse.java
```java
public class SelectCourse {
private String courseName; // 课程名称
private int capacity; // 课程容量
private int selectedNum; // 已选人数
private boolean selected; // 是否已选
public SelectCourse(String courseName, int capacity) {
this.courseName = courseName;
this.capacity = capacity;
this.selectedNum = 0;
this.selected = false;
}
// 选课
public boolean selectCourse() {
if (selected) { // 已选过该课程,无法重复选择
System.out.println("该课程无法重复选择");
return false;
}
if (selectedNum >= capacity) { // 课程已满,无法选择
System.out.println("该课程已满,无法选择");
return false;
}
selected = true;
selectedNum++;
System.out.println("选课成功!");
return true;
}
// 取消选课
public boolean cancelCourse() {
if (!selected) { // 未选过该课程,无法取消
System.out.println("未选过该课程,无法取消");
return false;
}
selected = false;
selectedNum--;
System.out.println("取消选课成功!");
return true;
}
// 获取课程名称
public String getCourseName() {
return courseName;
}
// 获取课程状态(已选/可选)
public String getStatus() {
if (selected) {
return "已选";
} else {
return "可选";
}
}
// 获取已选人数
public int getSelectedNum() {
return selectedNum;
}
// 获取课程容量
public int getCapacity() {
return capacity;
}
// 获取剩余可选人数
public int getRemainingNum() {
return capacity - selectedNum;
}
}
```
MainProcess.java
```java
import java.util.ArrayList;
import java.util.Scanner;
public class MainProcess {
public static void main(String[] args) {
// 初始化课程列表
ArrayList<SelectCourse> courseList = new ArrayList<>();
courseList.add(new SelectCourse("Java程序设计", 50));
courseList.add(new SelectCourse("数据结构与算法", 60));
courseList.add(new SelectCourse("计算机网络", 70));
courseList.add(new SelectCourse("操作系统", 80));
// 初始化学生信息
String studentName = "Tom";
int studentId = 1001;
// 开始选课
Scanner scanner = new Scanner(System.in);
while (true) {
// 打印课程列表
System.out.println("课程列表:");
for (SelectCourse course : courseList) {
System.out.println(course.getCourseName() + "(容量:" + course.getCapacity()
+ ",已选:" + course.getSelectedNum() + ",状态:" + course.getStatus() + ")");
}
// 输入选课信息
System.out.println("请输入选课编号(输入-1结束):");
int courseIndex = scanner.nextInt();
if (courseIndex == -1) {
break;
}
if (courseIndex < 0 || courseIndex >= courseList.size()) {
System.out.println("无效的选课编号,请重新输入");
continue;
}
// 选课
SelectCourse course = courseList.get(courseIndex);
boolean success = course.selectCourse();
if (success) {
// 选课成功,更新选课人数
System.out.println("选课成功!");
} else {
// 选课失败,不做任何操作
System.out.println("选课失败,请重新选择!");
}
}
}
}
```
这个程序实现了一个简单的选课系统,包括 `SelectCourse` 类和 `MainProcess` 类。学生可以通过 `MainProcess` 类选择课程,程序会根据选课情况更新课程状态和选课人数。如果学生选择已选课程或课程已满,则无法选择。如果学生取消已选课程,则可以重新选择该课程。
阅读全文