公共静态ArrayList get-with for循环

时间:2017-10-18 10:19:27

标签: java for-loop arraylist static bluej

我是Java的新手,我已经陷入了我应该使用静态ArrayList完成一个方法的地步。我必须使用for循环。我试过问几个人,但我根本不知道该怎么做。

看起来像这样(我应该完成它)

public static ArrayList<Message> getMessagesTo(Person recipient) {
    ArrayList<Message> allMessages = getMessages();
    return allMessages;
}

到目前为止,我所做的就是这个

public static ArrayList<Message> getMessagesTo(Person recipient) {
    ArrayList<Message> allMessages = getMessages();
    for(Message message : allMessages) {
        System.out.println(message.getMessageBody());

        if(message.getRecipient().getName().equals(recipient)) {
            getMessagesTo(recipient);


    }
            return allMessages;

(BlueJ)然后说&#34;缺少退货声明&#34;但我知道我的错误在于这部分:

if(message.getRecipient().getName().equals(recipient)) {
                getMessagesTo(recipient);


            }

2 个答案:

答案 0 :(得分:0)

你几乎就在那里,你只需要定义一个ArrayList,向其中添加元素并将其返回,例如:

public static ArrayList<Message> getMessagesTo(Person recipient) {
ArrayList<Message> allMessages = getMessages();
ArrayList<Message> messagesToPerson = new ArrayList<Message>();
for(Message message : allMessages) {
    System.out.println(message.getMessageBody());

    if(message.getRecipient().getName().equals(recipient)) {
        messagesToPerson.add(message);
    }
}
return messagesToPerson;

答案 1 :(得分:0)

您的代码中似乎缺少几个括号

public static ArrayList<Message> getMessagesTo(Person recipient) {
  ArrayList<Message> allMessages = getMessages();
  for(Message message : allMessages) {
      System.out.println(message.getMessageBody());

      if(message.getRecipient().getName().equals(recipient)) {
          getMessagesTo(recipient);
      }
  }
  return allMessages;
}