Description
在上题的基础上构建一个书单类BookList,该类中用一个列表类对象存放书单,提供添加图书(addBook)、查找图书(searchBook)的函数 main函数从键盘输入多个Book添加到书单中,(添加时,提供书的名称、价格、作者、版本号),而后从键盘读入一本书,查找该列表对象中是否包含该书,若包含,输出”found: 该书在列表中的序号”,若不包含,输出“not found”,查找时,提供书的名称、作者、版本号。
Input
添加书的个数 添加的书 查找的书
Output
查找结果
Sample Input
2 ThinkingInJava 86 BruceEckel 4 CoreJava 95 CayS.Horstmann 10 CoreJava CayS.Horstmann 10
Sample Output
found: 1
submit
import java.util.Scanner;
import java.util.List;
import java.util.LinkedList;
class Book
{
public String name;
public int price;
public String author;
public int Vnum;
public Book(String _name,int _price,String _author,int _Vnum)
{
this.name = _name;
this.price = _price;
this.author = _author;
this.Vnum = _Vnum;
}
@Override
public boolean equals(Object O)
{
Book B = (Book) O;
return name.equals(B.name)&& author.equals(B.author)&&Vnum==B.Vnum;
}
}
class BookList
{
List<Book> list;
BookList()
{
list = new LinkedList();
}
public void addBook(Book B)
{
list.add(B);
}
public void searchBook(Book B)
{
int pos = -5;
for(int i=0;i<list.size();i++)
{
Book b = (Book)list.get(i);
if(b.equals(B))
{
pos = i;
break;
}
}
if(pos != -5)
System.out.println("found: "+pos);
else
System.out.println("not found");
}
}
public class Main{
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
BookList bl = new BookList();
int n = s.nextInt();
for (int i=0; i<n;i++) {
bl.addBook(new Book(s.next(),
s.nextInt(),
s.next(),
s.nextInt()));
}
bl.searchBook(new Book(s.next(),
0,
s.next(),s.nextInt()));
}
}