java代码:学生选课系统。 系统至少应包括以下信息: 学生信息:学号、姓名、性别、年级、密码 课程信息:课程编号、课程名称、已选人数、可选人数、授课教师。创建学生和课程类。 (1) 文件CourseDB.java:单例类,模拟数据库中的课程,初始化后至少封装10门课程; (2)文件StudentDB.java:单列类,模拟数据库中的课程,初始化后至少封装5名学生信息; (3)文件Login.java:负责登录的业务逻辑; (4)文件SelectCourse.java:负责选课的业务逻辑; (5)文件MainProcess.java:负责整体业务流程; (6)学生选课成功后,选课状态变更为“已选”,否则,课程状态变更为“可选”;学生选择“已选”课程,提示“该课程无法重复选择”; (7)学生选课成功后,选课人数相应发生变化;
时间: 2024-03-01 17:52:16 浏览: 98
以下是一个简单的学生选课系统的Java代码示例:
Course.java
```
public class Course {
private int id;
private String name;
private int selectedCount;
private int maxCount;
private String teacher;
public Course(int id, String name, int maxCount, String teacher) {
this.id = id;
this.name = name;
this.maxCount = maxCount;
this.teacher = teacher;
this.selectedCount = 0;
}
public int getId() { return id; }
public String getName() { return name; }
public int getSelectedCount() { return selectedCount; }
public int getMaxCount() { return maxCount; }
public String getTeacher() { return teacher; }
public boolean isAvailable() {
return selectedCount < maxCount;
}
public void select() {
selectedCount++;
}
public void deselect() {
selectedCount--;
}
}
```
Student.java
```
public class Student {
private int id;
private String name;
private String gender;
private int grade;
private String password;
public Student(int id, String name, String gender, int grade, String password) {
this.id = id;
this.name = name;
this.gender = gender;
this.grade = grade;
this.password = password;
}
public int getId() { return id; }
public String getName() { return name; }
public String getGender() { return gender; }
public int getGrade() { return grade; }
public String getPassword() { return password; }
}
```
CourseDB.java
```
import java.util.ArrayList;
import java.util.List;
public class CourseDB {
private static CourseDB instance;
private List<Course> courses;
private CourseDB() {
courses = new ArrayList<>();
courses.add(new Course(1, "Java Programming", 50, "Tom"));
courses.add(new Course(2, "Data Structures", 40, "Jerry"));
courses.add(new Course(3, "Web Development", 30, "Bob"));
courses.add(new Course(4, "Database Systems", 35, "Alice"));
courses.add(new Course(5, "Algorithms", 45, "David"));
courses.add(new Course(6, "Network Security", 25, "Peter"));
courses.add(new Course(7, "Operating Systems", 30, "Mary"));
courses.add(new Course(8, "Artificial Intelligence", 20, "John"));
courses.add(new Course(9, "Computer Graphics", 25, "Sara"));
courses.add(new Course(10, "Software Engineering", 35, "Steve"));
}
public static CourseDB getInstance() {
if (instance == null) {
instance = new CourseDB();
}
return instance;
}
public List<Course> getCourses() {
return courses;
}
public Course getCourseById(int id) {
for (Course course : courses) {
if (course.getId() == id) {
return course;
}
}
return null;
}
}
```
StudentDB.java
```
import java.util.ArrayList;
import java.util.List;
public class StudentDB {
private static StudentDB instance;
private List<Student> students;
private StudentDB() {
students = new ArrayList<>();
students.add(new Student(1, "张三", "男", 1, "123456"));
students.add(new Student(2, "李四", "女", 2, "654321"));
students.add(new Student(3, "王五", "男", 3, "111111"));
students.add(new Student(4, "赵六", "女", 4, "222222"));
students.add(new Student(5, "钱七", "男", 5, "333333"));
}
public static StudentDB getInstance() {
if (instance == null) {
instance = new StudentDB();
}
return instance;
}
public List<Student> getStudents() {
return students;
}
public Student getStudentById(int id) {
for (Student student : students) {
if (student.getId() == id) {
return student;
}
}
return null;
}
}
```
Login.java
```
import java.util.Scanner;
public class Login {
public static Student login() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入学号:");
int id = scanner.nextInt();
System.out.print("请输入密码:");
String password = scanner.next();
Student student = StudentDB.getInstance().getStudentById(id);
if (student != null && student.getPassword().equals(password)) {
return student;
} else {
System.out.println("学号或密码错误!");
return null;
}
}
}
```
SelectCourse.java
```
import java.util.Scanner;
public class SelectCourse {
public static void select(Student student) {
Scanner scanner = new Scanner(System.in);
System.out.println("可选课程列表:");
for (Course course : CourseDB.getInstance().getCourses()) {
if (course.isAvailable()) {
System.out.println(course.getId() + " - " + course.getName() + " - " + course.getTeacher());
}
}
System.out.print("请输入要选择的课程编号:");
int id = scanner.nextInt();
Course course = CourseDB.getInstance().getCourseById(id);
if (course != null && course.isAvailable()) {
course.select();
System.out.println("选课成功!");
} else if (course != null && !course.isAvailable()) {
System.out.println("该课程已选满,无法选择!");
} else {
System.out.println("课程编号错误!");
}
}
}
```
MainProcess.java
```
public class MainProcess {
public static void main(String[] args) {
Student student = Login.login();
if (student != null) {
SelectCourse.select(student);
}
}
}
```
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![7z](https://img-home.csdnimg.cn/images/20241231044736.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)