簡體   English   中英

java arraylist類程序

[英]java arraylist class program

我與一個關於書架程序的問題混淆了。 我必須創建兩個名為Book和BookShelf的類

我或多或少已經完成了Book類,其中包含了這些變量(id,author和title),以及(get,set,toString和constructors方法)

但是對於BookShelf課,我不知道自己所做的是否正確

這是我在BookShelf課上應該做的

  • 創建一個addBook方法,它將書本對象作為輸入並將該對象添加到書架中

  • returnBooks方法,無需參數/參數,只需按順序返回書籍的數組列表

  • returnAuthorBooks ,以作者作為輸入,並返回作者的書籍數組列表

這是我完成的代碼

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

我想澄清一下這里是否有錯誤,因為某種原因,我覺得自己做錯了什么

您的returnBooks方法返回一個空的List。 你應該改變

ArrayList myBook = new ArrayList();

ArrayList<Book> myBook = new ArrayList(listOfBooks);

為了返回完整的排序列表。

您的returnAuthor方法有幾個問題:

  1. 它應該以作者作為輸入(我不知道它是否應該是String或是否存在Author類)。
  2. 您將書的作者與==而不是equals (請參閱問題)。
  3. 如果找到與您所要尋找的作者的書,則返回整個書清單。 您只應退還該作者的書。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM