这是我的代码的一部分(由于阅读时间太长,我没有上传完整的代码):
学生班级:(输入科目编号,并从大学班级调用方法)
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作为主题编号时,没有任何内容显示出来。我不明白哪里出错了。请帮忙!
答案 0 :(得分:0)
方法
public Subject subject(int number)
{
Subject ap = new Subject(48024, "Application Programming");
if(number == 48024)
{
return ap;
}
return null;
}
正在创建一个新的Subject,因为它是新的,它不会有任何Activity关联。
您需要向其添加活动才能显示它们。