我或多或少地完成了包含这些变量(id,author和title)的Book类(get,set,toString和constructors方法)
然而对于BookShelf课程,我对我所做的事情是否正确无能为力
以下是我应该在BookShelf课上做的事情
创建 addBook 方法,它将book对象作为输入并将对象添加到书架
returnBooks 方法,不需要参数/参数只需按顺序返回书籍的arraylist
returnAuthorBooks ,将作者作为输入并由作者返回书籍的arraylist
这是我已完成的代码
import java.util.ArrayList;
import java.util.Collections;
public class BookShelf {
ArrayList<Book> listOfBooks = new ArrayList<Book>();
public void addBook(Book getTitle){
listOfBooks.add(getTitle);
}
public ArrayList<Book> returnBooks(){
ArrayList myBook = new ArrayList();
Collections.sort(myBook);
return myBook;
}
public ArrayList<Book> returnAuthor(Book author){
for (Book books : listOfBooks){
if (author.getAuthor() == books.getTitle()){
return listOfBooks;
}
}
return null;
}
}
想澄清一下是否有任何错误,因为某种原因我觉得我做错了什么
答案 0 :(得分:1)
您的returnBooks
方法返回一个空列表。你应该改变
ArrayList myBook = new ArrayList();
到
ArrayList<Book> myBook = new ArrayList(listOfBooks);
为了返回完整的排序列表。
您的returnAuthor
方法有几个问题:
==
而不是equals
进行比较(请参阅this问题)。