一般来说,我对编程工作相对较新,而且我已经将这项工作嫁接了好几个小时,而且我们还没有进一步的工作。我已经浏览了互联网的深处,我找不到类似于我正在寻找的答案。这里的规范:
A)创建两个文件FictionBook.java和Library.java。 定义代表单本书的FictionBook类。这本书将有一个 标题,作者,可用性字段(1 =可用,0 =贷款)。你应该定义 借阅方法借用并归还书籍并阅读标题和作者 以及一个返回可用性的访问器方法。 此外,定义一个包含多达200本书籍的Library类。图书馆 应该包含带有ArrayList的书籍的模型。图书馆 class应该包含一个方法来将一本书添加到库中,从中删除一本书 图书馆借书和归还书籍。
B)创建Librarian.java文件并修改Library.java文件。 编写代码以对库中的消息进行排序,以便所有书籍都在其中 按作者姓名的字母顺序。创建一个只有主要的图书馆员班级 方法,因此您可以模拟库中书籍的处理。生成 10个新的FictionBooks并使用addBook方法将它们添加到库中。 您的图书馆应将邮件放在库中的正确位置 取决于作者的姓名。
我想我已经完成了第一部分,虽然我可能错了。这是我完全坚持的第二部分。这是我的三个班级
public class FictionBook {
private String title, author;
private int availability;
public FictionBook(String title, String author, int availability){
super();
this.title = title;
this.author = author;
this.availability = availability;
}
public FictionBook() {
this.availability = 1;
}
public void borrowBook1() {
setAvailability(0);
}
public void returnBook1() {
setAvailability(1);
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public int getAvailability() {
return availability;
}
public void setAvailability(int availability) {
if(availability != 1 || availability != 0) {
System.err.println("Enter 1 for available. Enter 2 for on loan.");
throw new IndexOutOfBoundsException();
} else {
this.availability = availability;
}
}
}
import java.util.ArrayList;
public class Library {
static ArrayList<FictionBook> BookList = new ArrayList<FictionBook>(200);
public static void addBook(FictionBook String){
BookList.add(String);
System.out.println("Book Successfully Added To Library Database.");
System.out.println(BookList);
}
public void deleteBook(){
BookList.remove(index);
}
public void borrowBook(){
BookList.get(index).FictionBook.borrowBook1();
}
public void returnBook(){
BookList.get(index).FictionBook.returnBook1();
}
}
public class Librarian {
public static void main(String args[]){
FictionBook newBook1 = new FictionBook("USB Man", "Bob", 1);
FictionBook newBook2 = new FictionBook("Bin Boys", "Chris", 1);
FictionBook newBook3 = new FictionBook("Dinosaur", "Joe", 1);
FictionBook newBook4 = new FictionBook("Pigasaurus", "Tom", 1);
FictionBook newBook5 = new FictionBook("Cat Attack", "Calvin", 1);
FictionBook newBook6 = new FictionBook("Shark Man", "Alfie", 1);
FictionBook newBook7 = new FictionBook("Burnt Face Man", "Colin", 1);
FictionBook newBook8 = new FictionBook("Egg Life", "Darwin", 1);
FictionBook newBook9 = new FictionBook("Pizza King", "Pringle", 1);
FictionBook newBook10 = new FictionBook("BillyBonka", "Randy", 1);
Library.addBook();
}
}
我只是想知道我是如何使用addBook()的;我的Library类中的方法是将Librarian类中定义的对象添加到Library类中的ArrayList中?我一直在乱用代码,所以可能会有很多错误,提前道歉。任何帮助都是超级的。 提前感谢您的时间!
答案 0 :(得分:1)
查看您定义addBook
方法的位置:
public static void addBook(FictionBook String)
这意味着每当你想要调用addBook
时,你必须包含书名(FictionBook
的对象名称,而不是文字标题。你必须这样做每本书,因为你一次只能做一本。
所以试试这个
FictionBook newBook1 = new FictionBook("USB Man", "Bob", 1);
Library.addBook(newBook1);
FictionBook newBook2 = new FictionBook("Bin Boys", "Chris", 1);
Library.addBook(newBook2);
等。等你定义的每本书
也像Compass所说,命名一个局部变量&#34; String&#34;根本不是一个好主意。我会将其重命名为book
,因为它在技术上不是书的名称,而是对象的名称。