2015-10-18 139 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); 
}