用java写一个简单的学生选课系统代码
时间: 2023-09-26 18:09:20 浏览: 144
好的,以下是一个简单的Java学生选课系统代码,希望能够帮助到你:
```
import java.util.ArrayList;
import java.util.Scanner;
public class Course {
private String courseName;
private int maxStudents;
private ArrayList<String> students = new ArrayList<String>();
public Course(String courseName, int maxStudents) {
this.courseName = courseName;
this.maxStudents = maxStudents;
}
public String getCourseName() {
return courseName;
}
public int getMaxStudents() {
return maxStudents;
}
public ArrayList<String> getStudents() {
return students;
}
public boolean addStudent(String student) {
if (students.size() < maxStudents) {
students.add(student);
return true;
} else {
return false;
}
}
}
public class Student {
private String name;
private ArrayList<Course> courses = new ArrayList<Course>();
public Student(String name) {
this.name = name;
}
public String getName() {
return name;
}
public ArrayList<Course> getCourses() {
return courses;
}
public void addCourse(Course course) {
courses.add(course);
course.addStudent(this.name);
}
}
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 创建课程
Course math = new Course("Math", 3);
Course physics = new Course("Physics", 2);
// 输入学生信息并添加到学生列表中
System.out.print("请输入学生姓名:");
String studentName = scanner.nextLine();
Student student = new Student(studentName);
// 选课
System.out.println("请选择课程:");
System.out.println("1. Math");
System.out.println("2. Physics");
int choice = scanner.nextInt();
switch (choice) {
case 1:
if (math.addStudent(student.getName())) {
student.addCourse(math);
System.out.println("选课成功!");
} else {
System.out.println("选课失败,该课程已满!");
}
break;
case 2:
if (physics.addStudent(student.getName())) {
student.addCourse(physics);
System.out.println("选课成功!");
} else {
System.out.println("选课失败,该课程已满!");
}
break;
default:
System.out.println("无效的选项!");
break;
}
// 输出选课结果
System.out.println("学生姓名:" + student.getName());
System.out.println("已选课程:");
for (Course course : student.getCourses()) {
System.out.println(course.getCourseName());
}
}
}
```
这个代码实现了一个简单的学生选课系统,可以添加课程、学生和选课功能,具体流程如下:
1. 创建 Course 类表示课程,包括课程名称、最大学生数和已选学生列表。
2. 创建 Student 类表示学生,包括学生姓名和已选课程列表。
3. 创建 Main 类作为程序入口,实现选课流程:
- 创建课程对象。
- 输入学生姓名并创建学生对象。
- 显示选课菜单,让学生选择课程。
- 根据学生选择的课程,将学生加入课程的已选学生列表中,同时将课程加入学生的已选课程列表中。
- 输出选课结果,包括学生姓名和已选课程列表。
希望能够帮到你!