course类:
import javax.print.DocFlavor.STRING;
//课程类
public class Course {
public String id;
public String name;
public Course(String id,String name) {//含参构造器
this.id=id;
this.name=name;
}
}
student 类:
import java.util.HashSet;
import java.util.Set;
public class Student {
public String id;
public String name;
public Set<Course> course;
public Student(String id,String name) {
this.id=id;
this.name=name;
this.course= new HashSet<Course>(); //创建选课集合
}
}
测试类:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
public class Settest {
public static List <Course>courseToSelect;//定义list中存放着course类型信息
public Settest() { //存放选课信息
courseToSelect= new ArrayList<Course>();
}
public void testAdd() {
//调用add方法添加课程course到list集合
Course cr1 = new Course("1", "数据结构");
courseToSelect.add(0, cr1);
//测试输出
// Course temp =(Course) courseToSelect.get(0);
// System.out.println("添加的课程: "+ temp.id+" "+temp.name);
Course cr2 = new Course("2", "c语言");
courseToSelect.add(0, cr2);
// Course temp2 =(Course) courseToSelect.get(0);
// System.out.println("添加的课程: "+ temp2.id+" "+temp2.name);
Course [] course= {new Course("3", "离散数学"),new Course("4", "汇编语言 ")};
//将course数组中所有课程添加入list
courseToSelect.addAll(Arrays.asList(course));
Course temp3=(Course)courseToSelect.get(2);
Course temp4=(Course)courseToSelect.get(3);
// System.out.println("添加的课程: "+ temp3.id+" "+temp3.name);
// System.out.println("添加的课程: "+ temp4.id+" "+temp4.name);
Course [] course2= {new Course("5", "高等数学"),new Course("6", "大学英语 ")};
courseToSelect.addAll(2,Arrays.asList(course2));
Course temp5=(Course)courseToSelect.get(2);
Course temp6=(Course)courseToSelect.get(3);
// System.out.println("添加的课程: "+ temp5.id+" "+temp5.name);
// System.out.println("添加的课程: "+ temp6.id+" "+temp6.name);
//
}
public void testforeach() {
for(Object obj: courseToSelect) {
Course cr = (Course)obj;
System.out.println("课程"+cr.id+":"+cr.name);
}
}
public static void main(String[] args) {
Settest st = new Settest();
st.testAdd();
st.testforeach();//遍历输出参考选课
Student stu1 = new Student("1","小明");
System.out.println("欢迎选课");
Scanner console = new Scanner(System.in);
//输入选课id 与 list中课程对比,匹配后加入stu的set集合中
for(int i = 0;i<3;i++) {
System.out.println("请输入选课的id");
String courseid = console.next();
for(Course cr:courseToSelect) {
if(cr.id.equals(courseid)) {
stu1.course.add(cr);
}
}
}
//输出选择的课程信息
System.out.println("共选择了"+stu1.course.size()+"门课程");
for(Course cr:stu1.course) {
System.out.println("选择了"+cr.id+" "+cr.name);
}
}
}