问答详情
源自:4-11 学生选课---通过 Set 集合管理课程

为什么选完课没输出

http://img.mukewang.com/58f9ac6b00014d5b09660725.jpg

为什么选完课没输出


提问者:神的孩子啊 2017-04-21 14:54

个回答

  • 慕圣0830664
    2017-04-29 21:58:28

    你在test()方法中输出的是后一个 new Student("1", "小明")中的courses容器的元素,而不是前面已经定义过了student对象中的courses。也就是说,在上面的程序中,你创建了两个Student类对象。第一个是被初始化过的,里面的courses容器存放了小明选择的课程;第二个 new Student("1", "小明"), 在new的时候调用了Student类的构造方法,只是id和name被初始化过,而courses容器中并没有添加东西。你输出的刚好是一个没有添加任务元素的courses,当然没有内容输出。

  • 我是习惯啊
    2017-04-21 15:41:14

    foreach循环里面是student

  • 神的孩子啊
    2017-04-21 15:25:34

    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();

     }

  • 慕粉3677737
    2017-04-21 15:11:13

    你main里面的for循环也没有写输出选课啊,怎么可能输出,你可以选完课之后调用一下test()方法