我是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);
}
答案 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;
}