java书店软件:基本类-需要APCS帮助吗
我正在尝试制作的程序有问题。当我实现arraylist时,它会给我不同的错误。我现在很困惑如何初始化我的类型书的ArrayList 这是图书课: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
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.
}
}