184 - 图书列表

在上题的基础上构建一个书单类BookList,该类中用一个列表类对象存放书单,提供添加图书(addBook)、查找图书(searchBook)的函数
main函数从键盘输入多个Book添加到书单中,(添加时,提供书的名称、价格、作者、版本号),而后从键盘读入一本书,查找该列表对象中是否包含该书,若包含,输出”found: 该书在列表中的序号”,若不包含,输出“not found”,查找时,提供书的名称、作者、版本号。
import java.util.Iterator;
import java.util.LinkedList;

import java.util.ArrayList;

import java.util.List;

class Book {

    public String name;

    public int piece;

    public String author;

    public int version;

    public Book(String n, int piece, String a, int v) {

        //str.replace(" ", "")

        this.name = n;

        this.piece = piece;

        this.author = a;

        this.version = v;

    }

    @Override

    public String toString() {

        String str = "name: " + name + ", price: " + piece + ", author: " + author + ", edition: " + version;

        return str;

    }

    public void setName(){

        this.name.replace(" ", "");

        this.name.toLowerCase();

    }

    public void setAuthor(){

        this.author.replace(" ", "");

        this.name.toLowerCase();

    }

    @Override

    public boolean equals(Object obj) {

        Book tmp = (Book) obj;

        if (this.name.toLowerCase().equals(tmp.name.toLowerCase()) && this.author.toLowerCase().equals(tmp.author.toLowerCase()) && this.version == tmp.version)

            return true;

        return false;

    }

}

class BookList {

    List<Book> booklist = new ArrayList<>();

    public void addBook(Book tmp){

        booklist.add(tmp);

    }

    public void searchBook(Book tmp){

        boolean flag = false;

        for(int i = 0;i < booklist.size();i++){

            Book book = booklist.get(i);

            if(book.name.equals(tmp.name) && book.author.equals(tmp.author) && book.version == tmp.version){

                int ans = i;

                System.out.println("found: "+ans+" ");

                flag = true;

                break;

            }

        }

        if(!flag)

            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()));
	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值