不能使用另一个类中的方法打印出数组列表结果

时间:2017-01-12 15:25:31

标签: java list class methods

我正在尝试在另一个类中使用一个方法来打印存储在该类的列表中的结果,但是我在使用另一个类的方法时遇到了麻烦。 这是我在类事件中使用的方法,其中存储了列表:

public void listParticipantResult(Participant participant) {
    ArrayList<Result> results = sortResults();

    for (Result result : results) {

        if (result.getParticipant().getId() == participant.getId()) {
            System.out.println(result);
        }
    }
}

这就是我试图在我的主程序中调用该方法的地方, 但是类Event中的方法无法解析。我不知道如何将它声明为一个对象,所以我可以使用该方法。

    private void participantResult() {
    System.out.print("Number: ");
    int participantNumber = readInt();

    Team team = null;
    Participant participant = null;

    for (Team teamFromList : teamList){
        if (teamFromList.hasParticipantWithId(participantNumber)) {
            participant = teamFromList.getParticipantById(participantNumber);
            team = teamFromList;    
        }   
    }
    if (participant == null) {
        System.out.println("Participant with number " + participantNumber + " does not exist.");
        return;
    }
    else {
            event.listParticipantResult(); <- right here.
        }
    }

3 个答案:

答案 0 :(得分:1)

listParticipantResult(Participant participant)接受Participant类型的一个参数。在底部的第3行,您没有传递任何参数:

...
event.listParticipantResult();
...

将其更改为:

...
event.listParticipantResult(participant);
...

答案 1 :(得分:1)

您需要创建一个Event对象

Event event = new Event(); //Or something similar based on constructor

您需要确保传入参与者,因为您的Event.listParticipantResult()需要。

答案 2 :(得分:0)

你在哪里声明event?您也不会向listParticipantResult()调用传递任何参数,您是否应该传入Participant对象?