2015-10-18 95 views
-1

我正在寫一個BookStore類,它在我現有的書籍類和作者類中使用了一些對象。現在我有一個需要填充的空數組列表。問題是我必須在BookStore類中而不是在測試類中執行此操作。如何將書籍對象添加到此數組列表中?然後它說我應該寫一個方法來獲取書籍。我不確定接下來應該做什麼,而且我已經搜索了很多,但仍然沒有發現類似於我的東西。將圖書對象添加到ArrayList中

import java.util.*; 
public class BookStore 
{ 
    //we will store Book object references in this 
    private ArrayList<Book> books; 


    /*NB: Our reference (books) doesn't refer to anything 
    **when it is declared so our default constructor 
    **makes it refer to an empty arraylist*/ 
    public BookStore() 
    { 
     books = new ArrayList<Book>(); 
    } 

    public void addBook(Book bookToAdd) 
    { 
     ArrayList<Book> Book1 = new ArrayList<Book>(); 
     if (bookToAdd != null) 
     { 
     int noOfBooks = 0; 
     noOfBooks++; //increasing this counter     
     }// end if 
    } // end addBook 
} 
+0

'books.add(bookToAdd);' – Andrew

+0

您應該使用成員類'books',不在方法內創建新的方法(其範圍僅限於方法)。 然後你只需爲你的類(getters和setter)提供一個mutators。 – Maroun

回答

2

使用add法書添加到列表:

public void addBook(Book bookToAdd) { 
    books.add(bookToAdd); 
} 

,並且不使用noOfBooks來算的圖書數量。 您已在books陣列列表中擁有此信息,請參閱books.size()

並且不要用null參數調用此方法。 它只是沒有意義的「空」書。 您可能要拋出一個異常,在這種情況下,以提醒他在做一些奇怪的來電,例如:

public void addBook(Book bookToAdd) { 
    if (bookToAdd == null) { 
     throw new IllegalArgumentException("The book to add should not be null"); 
    } 
    books.add(bookToAdd); 
}