学生属于班级,班级属于学院,包括添加,修改,删除,查询学生,班级,学院帮我用Java编写一个主函数和相关类,构造方法,用Map写
时间: 2023-10-27 07:07:02 浏览: 112
好的,我可以帮你写一个简单的代码示例。首先,我们需要定义三个类:Student(学生)、Class(班级)和College(学院),每个类都需要有相应的属性和方法。我们可以使用Map来存储这些类的对象,以便于进行添加、修改、删除和查询操作。
下面是一个简单的实现示例:
```java
import java.util.*;
class Student {
private String name;
private int age;
private String id;
public Student(String name, int age, String id) {
this.name = name;
this.age = age;
this.id = id;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getId() {
return id;
}
}
class Class {
private String name;
private Map<String, Student> students = new HashMap<>();
public Class(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void addStudent(Student student) {
students.put(student.getId(), student);
}
public void removeStudent(String id) {
students.remove(id);
}
public Student getStudent(String id) {
return students.get(id);
}
public List<Student> getAllStudents() {
return new ArrayList<>(students.values());
}
}
class College {
private String name;
private Map<String, Class> classes = new HashMap<>();
public College(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void addClass(Class c) {
classes.put(c.getName(), c);
}
public void removeClass(String name) {
classes.remove(name);
}
public Class getClass(String name) {
return classes.get(name);
}
public List<Class> getAllClasses() {
return new ArrayList<>(classes.values());
}
}
public class Main {
public static void main(String[] args) {
College college = new College("My College");
Class class1 = new Class("Class 1");
Class class2 = new Class("Class 2");
Student student1 = new Student("Alice", 18, "1001");
Student student2 = new Student("Bob", 19, "1002");
Student student3 = new Student("Charlie", 20, "1003");
class1.addStudent(student1);
class1.addStudent(student2);
class2.addStudent(student3);
college.addClass(class1);
college.addClass(class2);
System.out.println("College: " + college.getName());
for (Class c : college.getAllClasses()) {
System.out.println("Class: " + c.getName());
for (Student s : c.getAllStudents()) {
System.out.println("Student: " + s.getName() + ", age: " + s.getAge() + ", id: " + s.getId());
}
}
}
}
```
在这个示例中,我们定义了三个类:Student、Class和College。每个类都有一个构造方法和相应的属性和方法。其中,Student类表示学生,包括姓名、年龄和学号;Class类表示班级,包括班级名称和学生列表;College类表示学院,包括学院名称和班级列表。
我们使用Map来存储这些对象。在Main类中,我们创建了一个学院对象和两个班级对象,然后将学生对象添加到班级中,最后将班级添加到学院中。我们可以使用getAllClasses()和getAllStudents()方法来获取所有班级和学生的列表,并打印输出它们的相关信息。
当然,在实际应用中,我们可能需要添加更多的属性和方法,以满足具体的需求。但是,这个示例可以帮助你理解如何使用Map来实现类之间的关联和操作。
阅读全文