用java写一个学生管理系统
时间: 2023-12-16 14:03:33 浏览: 23
好的,学生管理系统是一种常见的应用程序,它可以用来管理学生的信息、课程和成绩等方面的信息。下面是一个用Java编写的学生管理系统的示例代码:
```
import java.util.*;
class Student {
private String name;
private String id;
private int age;
public Student(String name, String id, int age) {
this.name = name;
this.id = id;
this.age = age;
}
public String getName() {
return name;
}
public String getId() {
return id;
}
public int getAge() {
return age;
}
public String toString() {
return String.format("姓名: %s, 学号: %s, 年龄: %d", name, id, age);
}
}
class Course {
private String name;
private int credit;
private List<Student> students;
public Course(String name, int credit) {
this.name = name;
this.credit = credit;
this.students = new ArrayList<>();
}
public String getName() {
return name;
}
public int getCredit() {
return credit;
}
public List<Student> getStudents() {
return students;
}
public void addStudent(Student student) {
students.add(student);
}
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("课程: ");
sb.append(name);
sb.append(", 学分: ");
sb.append(credit);
sb.append(", 学生名单: ");
for (Student student : students) {
sb.append("\n");
sb.append(student);
}
return sb.toString();
}
}
public class StudentManagementSystem {
private Map<String, Student> students;
private Map<String, Course> courses;
public StudentManagementSystem() {
this.students = new HashMap<>();
this.courses = new HashMap<>();
}
public void addStudent(String name, String id, int age) {
Student student = new Student(name, id, age);
students.put(id, student);
}
public void addCourse(String name, int credit) {
Course course = new Course(name, credit);
courses.put(name, course);
}
public void addStudentToCourse(String studentId, String courseName) {
Student student = students.get(studentId);
Course course = courses.get(courseName);
course.addStudent(student);
}
public String getStudentInfo(String id) {
Student student = students.get(id);
return student.toString();
}
public String getCourseInfo(String name) {
Course course = courses.get(name);
return course.toString();
}
public static void main(String[] args) {
StudentManagementSystem system = new StudentManagementSystem();
system.addStudent("张三", "1001", 18);
system.addStudent("李四", "1002", 19);
system.addCourse("Java程序设计", 3);
system.addCourse("计算机组成原理", 4);
system.addStudentToCourse("1001", "Java程序设计");
system.addStudentToCourse("1002", "Java程序设计");
system.addStudentToCourse("1002", "计算机组成原理");
System.out.println(system.getStudentInfo("1001"));
System.out.println(system.getCourseInfo("Java程序设计"));
System.out.println(system.getCourseInfo("计算机组成原理"));
}
}
```
在这个实现中,我们定义了两个类:Student和Course。Student类表示一个学生,包含姓名、学号和年龄等信息。Course类表示一门课程,包含名字、学分和学生列表等信息。我们还定义了一个StudentManagementSystem类,用于管理学生和课程信息。
在这个系统中,我们可以使用addStudent()和addCourse()方法添加学生和课程信息。使用addStudentToCourse()方法将一个学生添加到某门课程中。使用getStudentInfo()和getCourseInfo()方法获取某个学生或课程的信息。
在main()方法中,我们演示了如何使用这个系统。我们先添加了两个学生,一个叫张三,学号是1001,年龄是18;一个叫李四,学号是1002,年龄是19。然后添加了两门课程:Java程序设计和计算机组成原理。接着,将张三和李四分别添加到Java程序设计课程中,将李四添加到计算机组成原理课程中。最后,我们分别获取了张三、Java程序设计和计算机组成原理的信息,打印出来。