为什么选完课没输出
你在test()方法中输出的是后一个 new Student("1", "小明")中的courses容器的元素,而不是前面已经定义过了student对象中的courses。也就是说,在上面的程序中,你创建了两个Student类对象。第一个是被初始化过的,里面的courses容器存放了小明选择的课程;第二个 new Student("1", "小明"), 在new的时候调用了Student类的构造方法,只是id和name被初始化过,而courses容器中并没有添加东西。你输出的刚好是一个没有添加任务元素的courses,当然没有内容输出。
foreach循环里面是student
public static void main(String[] args) {
Testset p = new Testset();
p.TestAdd();
p.testGet();
Student student = new Student("1", "小明");
System.out.println("欢迎" + student.name + "选课!");
// 创建一个scanner对象用来接收
Scanner console = new Scanner(System.in);
for (int i = 0; i < 3; i++) {
System.out.println("请输入课程ID");
String courseId = console.next();
for (Course cr : p.coursesTo) {
if (cr.id.equals(courseId)) {
student.courses.add(cr);
}
}
}
p.test();
}
你main里面的for循环也没有写输出选课啊,怎么可能输出,你可以选完课之后调用一下test()方法