在IDEA中用JAVA设计一个简单的学生选课系统,并可以完成添加、删除、修改、查询相关信息 。 说明: 可以设计以下类: 描述课程基本信息类(课程编号,课程名,学分 ); 描述学生基本信息类(学号,姓名,专业方向 ); 记录选课结果的类(课程,选课的学生,课程最多人数,当前人数 ); 测试类(设定或输入最多人数,创建课程对象,创建选课学生对象,创建选课对象,显示选课情况 )
时间: 2024-03-06 15:48:45 浏览: 78
好的,这是一个典型的面向对象的设计问题。我可以给你一些思路来实现这个学生选课系统。
首先,你需要设计三个类:Course(课程类)、Student(学生类)和选课结果类(选课类)。其中,Course类包含课程编号、课程名和学分属性;Student类包含学号、姓名和专业方向属性;而选课结果类包含课程、选课的学生、课程最多人数和当前人数属性。
然后,你需要在测试类中进行以下操作:
1. 设定或输入最多人数
可以使用Scanner类获取用户输入的最大人数。
2. 创建课程对象
可以使用Course类创建多个课程对象,并设置课程编号、课程名和学分属性。
3. 创建选课学生对象
可以使用Student类创建多个学生对象,并设置学号、姓名和专业方向属性。
4. 创建选课对象
可以使用选课结果类创建多个选课对象,每个选课对象包含一个课程和多个选课的学生。在创建选课对象时,需要指定课程的最大人数,并根据选课的学生数量更新课程的当前人数属性。
5. 显示选课情况
可以使用System.out.println()方法输出选课结果,包括每个课程的编号、名称、学分以及选课的学生信息。
具体的实现可以参考下面的代码:
```java
import java.util.ArrayList;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
// 设定最大人数
Scanner scanner = new Scanner(System.in);
System.out.print("请输入最大人数:");
int maxNum = scanner.nextInt();
// 创建课程对象
Course course1 = new Course("001", "Java程序设计", 4);
Course course2 = new Course("002", "数据库系统", 3);
Course course3 = new Course("003", "数据结构与算法", 4);
// 创建学生对象
Student student1 = new Student("001", "张三", "计算机科学与技术");
Student student2 = new Student("002", "李四", "软件工程");
Student student3 = new Student("003", "王五", "信息安全");
// 创建选课对象
ArrayList<Student> students1 = new ArrayList<>();
students1.add(student1);
students1.add(student2);
students1.add(student3);
SelectCourse selectCourse1 = new SelectCourse(course1, students1, maxNum);
ArrayList<Student> students2 = new ArrayList<>();
students2.add(student1);
students2.add(student2);
SelectCourse selectCourse2 = new SelectCourse(course2, students2, maxNum);
ArrayList<Student> students3 = new ArrayList<>();
students3.add(student2);
students3.add(student3);
SelectCourse selectCourse3 = new SelectCourse(course3, students3, maxNum);
// 显示选课情况
System.out.println("课程编号\t课程名\t学分\t选课人数\t学生信息");
System.out.println(course1.getCourseId() + "\t" + course1.getCourseName() + "\t" + course1.getCredit() + "\t" + selectCourse1.getCurrentNum() + "\t" + selectCourse1.getStudents());
System.out.println(course2.getCourseId() + "\t" + course2.getCourseName() + "\t" + course2.getCredit() + "\t" + selectCourse2.getCurrentNum() + "\t" + selectCourse2.getStudents());
System.out.println(course3.getCourseId() + "\t" + course3.getCourseName() + "\t" + course3.getCredit() + "\t" + selectCourse3.getCurrentNum() + "\t" + selectCourse3.getStudents());
}
}
class Course {
private String courseId;
private String courseName;
private int credit;
public Course(String courseId, String courseName, int credit) {
this.courseId = courseId;
this.courseName = courseName;
this.credit = credit;
}
public String getCourseId() {
return courseId;
}
public String getCourseName() {
return courseName;
}
public int getCredit() {
return credit;
}
}
class Student {
private String studentId;
private String studentName;
private String major;
public Student(String studentId, String studentName, String major) {
this.studentId = studentId;
this.studentName = studentName;
this.major = major;
}
public String getStudentId() {
return studentId;
}
public String getStudentName() {
return studentName;
}
public String getMajor() {
return major;
}
}
class SelectCourse {
private Course course;
private ArrayList<Student> students;
private int maxNum;
private int currentNum;
public SelectCourse(Course course, ArrayList<Student> students, int maxNum) {
this.course = course;
this.students = students;
this.maxNum = maxNum;
this.currentNum = students.size();
}
public Course getCourse() {
return course;
}
public ArrayList<Student> getStudents() {
return students;
}
public int getMaxNum() {
return maxNum;
}
public int getCurrentNum() {
return currentNum;
}
}
```
希望这个简单的例子能帮助你理解如何用Java设计一个学生选课系统。
阅读全文