JAVA中的LinkedList从其他类调用方法

时间:2016-05-07 16:15:39

标签: java linked-list

这是我的代码的一部分(由于阅读时间太长,我没有上传完整的代码):

学生班级:(输入科目编号,并从大学班级调用方法)

import java.util.*;

public class Student 
{
private String number;
private String name;
private LinkedList<Activity> activities = new LinkedList<Activity>();
}
public void enrol(University university)
{
    System.out.println("Select a subject");
    System.out.println("48024 Applications Programming");
    System.out.println("31284 Web Services Development");
    int number = selectSubject();

    if(number == 48024)
    {
        university.showActivity(university.subject(number));
    }
}

大学班级:(根据科目编号返回科目类型,并使用该科目“ap”在科目班级中调用showActivity()方法。

public class University
{
private LinkedList<Subject> subjects = new LinkedList<Subject>();

public University()
{
Subject ap = new Subject(48024, "Application Programming"); 
    ap.addActivity("Lec1", 1, "Wed", 18, 1, "CB11.00.405", 200);
    ap.addActivity("Cmp1", 1, "Wed", 19, 2, "CB11.B1.403", 2);
    ap.addActivity("Cmp1", 2, "Wed", 19, 2, "CB11.B1.401", 2);
    ap.addActivity("Cmp1", 3, "Wed", 19, 2, "CB11.B1.402", 2);
    subjects.add(ap);
}
public Subject subject(int number)
{
    Subject ap = new Subject(48024, "Application Programming"); 
    if(number == 48024)
    {
        return ap;
    }
    return null;
}
public void showActivity(Subject subject)
{
    subject.showActivity();
}

学科分类:(打印出该科目下的所有活动)

public void showActivity()
{
    for(Activity list : activities)
    {
        System.out.println(list);
    }
}

还有一个带有toString方法的Activity类。

在学生班中,一旦用户输入主题编号48024,它应该调用大学课程中的方法,然后显示主题48024下的所有活动。

现在,当我输入48024作为主题编号时,没有任何内容显示出来。我不明白哪里出错了。请帮忙!

1 个答案:

答案 0 :(得分:0)

方法

public Subject subject(int number)
{
    Subject ap = new Subject(48024, "Application Programming"); 
    if(number == 48024)
    {
        return ap;
    }
    return null;
}

正在创建一个新的Subject,因为它是新的,它不会有任何Activity关联。

您需要向其添加活动才能显示它们。