构建一个书类Book,包括名称(字符串),价格(整型),作者(字符串,多个作者当做一个字符串处理),版本号(整型),提供带参数的构造函数Book(String
name, int price, String author, int
edition),提供该类的toString()和equals()方法,toString方法返回所有成员属性的值的字符串形式,形如“name:
xxx, price: xxx, author: xxx, edition:
xxx”,当两个Book对象的名称(不关心大小写,无空格)、作者(不关心大小写,无空格)、版本号相同时,认为两者表示同一本书。
Main函数中,读入两本书,输出他们是否相等,打印两本书的信息。

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

输入描述:

添加书的个数 添加的书 查找的书

输出描述:

查找结果

裁判测试程序样例:

import java.util.Scanner;/* 你的答案被嵌在这里 */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()));}
}

输入样例:

在这里给出一组输入。例如:

2
ThinkingInJava
86
BruceEckel
4
CoreJava
95
CayS.Horstmann
10
CoreJava
CayS.Horstmann
10

输出样例:

在这里给出相应的输出。例如:

found: 1

参考答案:

import java.io.BufferedReader;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Scanner;/* 你的答案被嵌在这里 */
class Book{String name;String author;int price;int edition;Book(String name, int price, String author, int edition){this.price = price;this.name = name;this.edition = edition;this.author = author;}public String  toString(){return "name: " + this.name + ", price: " + this.price + ", author: " + this.author +" , edition: " + this.edition;}public boolean equals(Book b){if(b.name.equalsIgnoreCase(this.name) && b.edition == this.edition && b.author.equalsIgnoreCase(this.author))return true;return false;}
}
class BookList{ArrayList<Book> books = new ArrayList<Book>();void addBook(Book book) {books.add(book);}void searchBook(Book book){boolean ok = false;int i = 0;for( ; i < books.size() ; i++){if(books.get(i).equals(book)){ok = true;break;}}if(ok == true)System.out.println("found: " + i);elseSystem.out.println("not found");}
}

6-23 图书列表 (25分)相关推荐

  1. 6-1 图书列表 (25 分)

    6-1 图书列表 (25 分) 构建一个书类Book,包括名称(字符串),价格(整型),作者(字符串,多个作者当做一个字符串处理),版本号(整型),提供带参数的构造函数Book(String name ...

  2. 6-2 图书列表 (20分)

    6-2 图书列表 (20分) 构建一个书类Book,包括名称(字符串),价格(整型),作者(字符串,多个作者当做一个字符串处理),版本号(整型),提供带参数的构造函数Book(String name, ...

  3. 6-34 图书列表 (20 分)

    6-34 图书列表 (20 分) 构建一个书类Book,包括名称(字符串),价格(整型),作者(字符串,多个作者当做一个字符串处理),版本号(整型),提供带参数的构造函数Book(String nam ...

  4. 7-5 悄悄关注 (25 分) 新浪微博上有个“悄悄关注”,一个用户悄悄关注的人,不出现在这个用户的关注列表上,但系统会推送其悄悄关注的人发表的微博给该用户。现在我们来做一回网络侦探,根据某人的关注列

    7-5 悄悄关注 (25 分) 新浪微博上有个"悄悄关注",一个用户悄悄关注的人,不出现在这个用户的关注列表上,但系统会推送其悄悄关注的人发表的微博给该用户.现在我们来做一回网络侦 ...

  5. 2020团队程序设计天梯赛 L2-2 口罩发放 (25分)

    2020团队程序设计天梯赛 赛后听许多人感慨,火锅火锅吃不掉,彩票彩票刮不开,调和平均也调不和,而像我这种口罩发不下去的人也在大多数吧 L2-2 口罩发放 (25分) 为了抗击来势汹汹的 COVID1 ...

  6. 1121 Damn Single (25 分)

    1121 Damn Single (25 分) "Damn Single (单身狗)" is the Chinese nickname for someone who is bei ...

  7. 堆中的路径 (25 分)

    7-17 堆中的路径 (25 分) 将一系列给定数字插入一个初始为空的小顶堆H[].随后对任意给定的下标i,打印从H[i]到根结点的路径. 输入格式: 每组测试第1行包含2个正整数N和M(≤1000) ...

  8. [PTA]L2-001 紧急救援 (25 分)

    L2-001 紧急救援 (25 分) Description 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每 ...

  9. 7-43 字符串关键字的散列映射 (25 分)(思路+详解+不懂的兄弟们来呀)兄弟们我干了5个小时,一个一个测试点过的

    一:题目 7-43 字符串关键字的散列映射 (25 分) 给定一系列由大写英文字母组成的字符串关键字和素数P,用移位法定义的散列函数H(Key)将关键字Key中的最后3个字符映射为整数,每个字符占5位 ...

最新文章

  1. 【Linux 内核】进程管理 ( Linux 内核中的进程状态 | TASK_RUNNING | TASK_INTERRUPTIBLE | __TASK_STOPPED | EXIT_ZOMBIE )
  2. Bag of Word
  3. printwriter 要close吗_中国股市:市盈率低估,就意味着可以买入吗?不懂你就输了...
  4. Android studio编译出现Failed to finalize session : INSTALL_FAILED_INVALID_APK
  5. 9 SD配置-企业结构-分配-给公司代码分配销售组织
  6. 利用hutool实现邮件发送功能
  7. 谷歌设立 COVID-19资助金,助力漏洞猎人度过新冠肺炎疫情
  8. GDB中应该知道的几个调试方法-转
  9. mysql数据迁移到sqlserver_技术分享 | 使用OGG实现Oracle到MySQL数据平滑迁移
  10. 哄人必备-女友道歉信生成工具吾爱版
  11. 漂亮的聊天软件网页HTML5模板源码下载
  12. JMeter 安装教程
  13. 哈啰:学拼多多的套路,走美团的老路
  14. excel.h的简单使用
  15. 为什么越来越多的企业选择智能客服系统?
  16. 【错误处理】Azkaban安装失败 installation Failed.Error chunking
  17. Win95下的注册表文件(User.dat,System.dat)文件格式说明 (转)
  18. 利用OCR文字识别+百度算法搜索,玩转冲顶大会、百万英雄、芝士超人等答题赢奖金游戏...
  19. 软件验证(Verification)和确认(Validation)的区别
  20. Linux Ubuntu配置国内源

热门文章

  1. int.TryParse
  2. python字典append_python的dict 有append方法吗
  3. lopatkin俄大神精简中文系统Windows 10 Enterprise 2016 LTSB 14393.729 x64 ZH-CN PIPvm v2
  4. 转载----考试系统技术参数
  5. Python - 认识Python
  6. python爬取手机aop_Python爬虫之爬取动漫之家
  7. webView加载H5页面出现空白页的解决办法
  8. 渗透测试基础 - - - linux入侵排查
  9. 【移动App自动化测试4】---1基于Android系统的自动化基础
  10. onmousemove、onmouseover、 onmouseup及onclick的区别