java书店软件:基本类-需要APCS帮助吗

java书店软件:基本类-需要APCS帮助吗,java,arraylist,constructor,initialization,Java,Arraylist,Constructor,Initialization,我正在尝试制作的程序有问题。当我实现arraylist时,它会给我不同的错误。我现在很困惑如何初始化我的类型书的ArrayList 这是图书课: public class Book { private double myPrice; private String myTitle; private String bookAuthor; private String isbn; private int myCopies; public Boo

我正在尝试制作的程序有问题。当我实现arraylist时,它会给我不同的错误。我现在很困惑如何初始化我的类型书的ArrayList

这是图书课:

public class Book {

    private double myPrice;
    private String myTitle;
    private String bookAuthor;
    private String isbn;
    private int myCopies;   

    public Book(double price, int copies, String bookTitle, String Author, String isbnNumber) {
        myPrice = price;
        myCopies = copies;
        myTitle = bookTitle;
        bookAuthor = Author;
        isbn = isbnNumber;
    }

    public double getPrice() {
        return myPrice;
    }

    public String getIsbn() {
        return isbn;
    }

    public String getTitle() {
        return myTitle;
    }

    public String getAuthor() {
        return bookAuthor;
    }

    public int copiesLeft(){
        return myCopies;
    }

    public String toString() {
        return "Title: " + getTitle() + "\nAuthor: " + getAuthor()
               + "\nNumber of Available Books: " + copiesLeft() 
               + "\nPrice: $" + getPrice(); 
    }

}
下面是库存类:

import java.util.ArrayList;

public class Inventory extends Book {
    private ArrayList<Book> allBooks = new ArrayList<Book>;
    private String customerName;

    public Inventory() {
        super();
    }

    //@param double price, int copies, String bookTitle, String Author, String isbnNumber
    public void addBooks() {
        allBooks.add(new Book(4.99, 6, "A Tale of Two Cities", "Charles Dickens", "9781783220731"));
    }

    public boolean isAvailable() {
        for(Book myBook : allBooks) {
            if(myBook.copiesLeft() == 0)
                return false;
            else
                return true;    
        }
    }

    public Book getBookByTitle(String titleSearch) {
        for (Book myBook : allBooks) {
            if (titleSearch.equals(myBook.getTitle()));
                return myBook;
        }
    }
}
import java.util.ArrayList;
公共类资源清册{
私有ArrayList allBooks=新ArrayList;
私有字符串客户名称;
公共库存(){
超级();
}
//@参数双倍价格,整数副本,字符串书名,字符串作者,字符串isbnNumber
公共书籍{
新增(新书(4.99,6,“双城记”,“查尔斯·狄更斯”,“9781783220731”);
}
公共布尔值isAvailable(){
对于(我的书:所有书){
if(myBook.copiesLeft()==0)
返回false;
其他的
返回true;
}
}
公共图书getBookByTitle(字符串标题搜索){
对于(我的书:所有书){
if(titleSearch.equals(myBook.getTitle());
归还我的书;
}
}
}

我不知道您犯了哪些错误,因此很难帮助您。但下面是代码中的一些错误。它们标有//什么错误?如果需要帮助,您必须提供更多信息。具体错误是什么?对应哪些行?建议:将变量命名为
price
,并用
this.price=price初始化,而不是“myPrice”
为什么要将
库存
作为
书籍
的一个子类?而且,您意识到构造函数是一种方法,对吗?(换句话说,您在
ArrayList
构造函数上缺少
()
)@user3580294是正确的,这个
私有ArrayList allBooks=new ArrayList()//
import java.util.ArrayList;

public class Inventory extends Book {
    private ArrayList<Book> allBooks = new ArrayList<Book>; //<---- Should be new ArrayList<Book>(); that is, with parentheses.
    private String customerName;

    public Inventory() {
        super(); //<---- I'm rusty on inheritance, but this line** might fuck up some stuff
    }

    //@param double price, int copies, String bookTitle, String Author, String isbnNumber
    public void addBooks() {
        allBooks.add(new Book(4.99, 6, "A Tale of Two Cities", "Charles Dickens", "9781783220731"));
    }

    public boolean isAvailable() {
        for(Book myBook : allBooks) {
            if(myBook.copiesLeft() == 0)
                return false;
            else
                return true;    
        }
            //<---- You need a second return statement, in case the for-loop and if statement is never accessed. The method always needs to return something when you've told it to.
    }

    public Book getBookByTitle(String titleSearch) {
        for (Book myBook : allBooks) {
            if (titleSearch.equals(myBook.getTitle())); //<---- Semicolon
                return myBook;
        }
            //<---- You need a second return statement, in case the for-loop and if statement is never accessed. The method always needs to return something when you've told it to.
    }
}