简体   繁体   English

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

[英]LinkedList in JAVA to call methods from other class

This is part of my code (I didn't upload the complete code since it's too long to read): 这是我的代码的一部分(由于阅读时间太长,我没有上传完整的代码):

Student Class: ( Enter the subject number, and call methods from University class ) 学生班:(输入学科编号,然后从大学班级致电)

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

University Class: ( return subject type based on the subject number, and use that subject "ap" to call showActivity() method in subject class. 大学课程:(根据学科编号返回学科类型,并使用该学科“ 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();
}

Subject Class: ( print out all activities under that subject ) 主题类别:(打印出该主题下的所有活动)

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

There is one more Activity class with toString method. 还有一个带有toString方法的Activity类。

In the Student Class, once user enters the subject number 48024, it should call the methods in University Class then show all activities under the subject 48024. 在学生班级中,一旦用户输入学科编号48024,它应调用大学班级中的方法,然后显示学科48024下的所有活动。

Now once I entered 48024 as subject number, nothing shows up. 现在,一旦我输入48024作为主题号,就什么也没有显示。 I don't understand where is wrong. 我不明白哪里出了问题。 Please help! 请帮忙!

The method 方法

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

is creating a new Subject, since it is new, it will not have any Activity associated. 正在创建新的主题,因为它是新主题,所以不会关联任何活动。

You need to add activities to it in order to show them. 您需要向其中添加活动以显示它们。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM