???????????????????????????????????????????????????????????????????????????HashTable? ?1????????HashTable???stu_cour??stu_cour??key?sno?value???Vector???????????Course???? ?2????????HashTable???cour_stu??cour_stu??key?cno?value???Vector???????????Stuedent???? ?3????stu_cour?cour_stu?????? ?4???stu_cour??????????????? ?5???cour_stu???????????????
时间: 2023-07-12 21:55:42 浏览: 121
1. 首先需要定义存储课程信息的类Course和存储学生信息的类Student,例如:
public class Course {
private String cno; // 课程编号
private String cname; // 课程名称
// 其他课程信息
// 省略getter和setter方法
}
public class Student {
private String sno; // 学生学号
private String sname; // 学生姓名
// 其他学生信息
// 省略getter和setter方法
}
2. 声明一个Hashtable,键为学生学号sno,值为存储选课信息的Vector<Course>,其中Course是一个存储课程信息的类,例如:
Hashtable<String, Vector<Course>> stu_cour = new Hashtable<String, Vector<Course>>();
3. 声明一个Hashtable,键为课程编号cno,值为存储选课学生信息的Vector<Student>,其中Student是一个存储学生信息的类,例如:
Hashtable<String, Vector<Student>> cour_stu = new Hashtable<String, Vector<Student>>();
4. 将学生选课信息存入stu_cour中,即将Course对象添加到对应学生的Vector中,例如:
String sno = "20190101"; // 学生学号
Course course1 = new Course();
course1.setCno("1001"); // 课程编号
course1.setCname("Java程序设计"); // 课程名称
// 其他课程信息
Vector<Course> courses = new Vector<Course>();
courses.add(course1);
stu_cour.put(sno, courses);
5. 将选课学生信息存入cour_stu中,即将Student对象添加到对应课程的Vector中,例如:
String cno = "1001"; // 课程编号
Student student1 = new Student();
student1.setSno("20190101"); // 学生学号
student1.setSname("张三"); // 学生姓名
// 其他学生信息
Vector<Student> students = new Vector<Student>();
students.add(student1);
cour_stu.put(cno, students);
6. 根据学生学号sno,在stu_cour中查找对应的选课信息,即获取对应的Vector<Course>,遍历Vector获取每个Course对象的课程名称等信息:
String sno = "20190101"; // 学生学号
Vector<Course> courses = stu_cour.get(sno);
if (courses != null) {
for (Course course : courses) {
System.out.println(course.getCname()); // 输出课程名称
}
}
7. 根据课程编号cno,在cour_stu中查找对应的选课学生信息,即获取对应的Vector<Student>,遍历Vector获取每个Student对象的学生姓名等信息:
String cno = "1001"; // 课程编号
Vector<Student> students = cour_stu.get(cno);
if (students != null) {
for (Student student : students) {
System.out.println(student.getSname()); // 输出学生姓名
}
}
阅读全文