为了账号安全,请及时绑定邮箱和手机立即绑定

为什么选完课没输出

http://img1.sycdn.imooc.com//58f9ac6b00014d5b09660725.jpg

为什么选完课没输出


正在回答

4 回答

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

0 回复 有任何疑惑可以回复我~

foreach循环里面是student

0 回复 有任何疑惑可以回复我~
#1

神的孩子啊 提问者

我这样不就是等于student吗
2017-04-21 回复 有任何疑惑可以回复我~
#2

神的孩子啊 提问者

省得传参数
2017-04-21 回复 有任何疑惑可以回复我~

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

 }

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

神的孩子啊 提问者

调用了。。。。。。。
2017-04-21 回复 有任何疑惑可以回复我~
#2

慕粉3677737 回复 神的孩子啊 提问者

你发一个完整的程序代码我看看
2017-04-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么选完课没输出

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信