用Java代码实现网上选课系统
时间: 2023-06-04 18:02:55 浏览: 61
好的,我能够帮您解答这个问题。选课系统主要是由前端和后端两个部分组成,前端作为用户界面,负责完成用户界面的展示和用户的操作。而后端则负责处理前端发来的请求,进行相应的处理,并将结果返回给前端。以下是实现一个简单的网上选课系统的 Java 代码示例:
```java
import java.util.Scanner;
public class CourseSelectionSystem {
// 定义一个 Course 类,表示一个课程
static class Course {
private String name; // 课程名称
private int capacity; // 课程容量
private int vacancy; // 课程空位
public Course(String name, int capacity) {
this.name = name;
this.capacity = capacity;
this.vacancy = capacity;
}
public String getName() {
return name;
}
public int getCapacity() {
return capacity;
}
public int getVacancy() {
return vacancy;
}
public boolean select() {
if (vacancy > 0) {
vacancy--;
return true;
} else {
return false;
}
}
}
public static void main(String[] args) {
// 初始化课程列表
Course[] courses = new Course[] {
new Course("Java Programming", 20),
new Course("Data Structures and Algorithms", 30),
new Course("Database Systems", 25),
new Course("Computer Networks", 15),
new Course("Operating Systems", 20)
};
Scanner scanner = new Scanner(System.in);
while (true) {
// 展示课程列表
System.out.println("Courses:");
for (int i = 0; i < courses.length; i++) {
System.out.printf("%d. %s (%d/%d)%n", i + 1, courses[i].getName(), courses[i].getCapacity() - courses[i].getVacancy(), courses[i].getCapacity());
}
// 提示用户输入想要选择的课程编号,如果输入为 0 则退出程序
System.out.print("Please select a course (1-5, 0 to exit): ");
int choice = scanner.nextInt();
if (choice == 0) {
break;
} else if (choice < 1 || choice > courses.length) {
System.out.println("Invalid choice, please try again.");
} else {
// 进行选课操作
if (courses[choice - 1].select()) {
System.out.println("Course selected successfully.");
} else {
System.out.println("Course selection failed, the course is full.");
}
}
}
}
}
```
该程序中,我们使用了一个 `Course` 类,用于表示一个课程。每个课程都有一个名称、一个容量和一个空位数。当用户选择一个课程时,我们在 `Course` 类中实现了一个 `select()` 方法来处理选课操作。如果当前课程还有空位,则将空位数减 1,并返回选课成功;否则,返回选课失败。程序的主要逻辑是通过一个无限循环来展示课程列表,并提示用户选择想要选的课程编号。如果用户选择了一个无效的编号,则会提示用户重新输入,直到用户输入了有效的课程编号为止。选课系统的核心代码逻辑就是在用户输入有效的课程编号后,通过调用 `select()` 方法进行选课操作,并将结果展示给用户。