6-23 图书列表 (25分)
构建一个书类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分)相关推荐
- 6-1 图书列表 (25 分)
6-1 图书列表 (25 分) 构建一个书类Book,包括名称(字符串),价格(整型),作者(字符串,多个作者当做一个字符串处理),版本号(整型),提供带参数的构造函数Book(String name ...
- 6-2 图书列表 (20分)
6-2 图书列表 (20分) 构建一个书类Book,包括名称(字符串),价格(整型),作者(字符串,多个作者当做一个字符串处理),版本号(整型),提供带参数的构造函数Book(String name, ...
- 6-34 图书列表 (20 分)
6-34 图书列表 (20 分) 构建一个书类Book,包括名称(字符串),价格(整型),作者(字符串,多个作者当做一个字符串处理),版本号(整型),提供带参数的构造函数Book(String nam ...
- 7-5 悄悄关注 (25 分) 新浪微博上有个“悄悄关注”,一个用户悄悄关注的人,不出现在这个用户的关注列表上,但系统会推送其悄悄关注的人发表的微博给该用户。现在我们来做一回网络侦探,根据某人的关注列
7-5 悄悄关注 (25 分) 新浪微博上有个"悄悄关注",一个用户悄悄关注的人,不出现在这个用户的关注列表上,但系统会推送其悄悄关注的人发表的微博给该用户.现在我们来做一回网络侦 ...
- 2020团队程序设计天梯赛 L2-2 口罩发放 (25分)
2020团队程序设计天梯赛 赛后听许多人感慨,火锅火锅吃不掉,彩票彩票刮不开,调和平均也调不和,而像我这种口罩发不下去的人也在大多数吧 L2-2 口罩发放 (25分) 为了抗击来势汹汹的 COVID1 ...
- 1121 Damn Single (25 分)
1121 Damn Single (25 分) "Damn Single (单身狗)" is the Chinese nickname for someone who is bei ...
- 堆中的路径 (25 分)
7-17 堆中的路径 (25 分) 将一系列给定数字插入一个初始为空的小顶堆H[].随后对任意给定的下标i,打印从H[i]到根结点的路径. 输入格式: 每组测试第1行包含2个正整数N和M(≤1000) ...
- [PTA]L2-001 紧急救援 (25 分)
L2-001 紧急救援 (25 分) Description 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每 ...
- 7-43 字符串关键字的散列映射 (25 分)(思路+详解+不懂的兄弟们来呀)兄弟们我干了5个小时,一个一个测试点过的
一:题目 7-43 字符串关键字的散列映射 (25 分) 给定一系列由大写英文字母组成的字符串关键字和素数P,用移位法定义的散列函数H(Key)将关键字Key中的最后3个字符映射为整数,每个字符占5位 ...
最新文章
- 【Linux 内核】进程管理 ( Linux 内核中的进程状态 | TASK_RUNNING | TASK_INTERRUPTIBLE | __TASK_STOPPED | EXIT_ZOMBIE )
- Bag of Word
- printwriter 要close吗_中国股市:市盈率低估,就意味着可以买入吗?不懂你就输了...
- Android studio编译出现Failed to finalize session : INSTALL_FAILED_INVALID_APK
- 9 SD配置-企业结构-分配-给公司代码分配销售组织
- 利用hutool实现邮件发送功能
- 谷歌设立 COVID-19资助金,助力漏洞猎人度过新冠肺炎疫情
- GDB中应该知道的几个调试方法-转
- mysql数据迁移到sqlserver_技术分享 | 使用OGG实现Oracle到MySQL数据平滑迁移
- 哄人必备-女友道歉信生成工具吾爱版
- 漂亮的聊天软件网页HTML5模板源码下载
- JMeter 安装教程
- 哈啰:学拼多多的套路,走美团的老路
- excel.h的简单使用
- 为什么越来越多的企业选择智能客服系统?
- 【错误处理】Azkaban安装失败 installation Failed.Error chunking
- Win95下的注册表文件(User.dat,System.dat)文件格式说明 (转)
- 利用OCR文字识别+百度算法搜索,玩转冲顶大会、百万英雄、芝士超人等答题赢奖金游戏...
- 软件验证(Verification)和确认(Validation)的区别
- Linux Ubuntu配置国内源
热门文章
- int.TryParse
- python字典append_python的dict 有append方法吗
- lopatkin俄大神精简中文系统Windows 10 Enterprise 2016 LTSB 14393.729 x64 ZH-CN PIPvm v2
- 转载----考试系统技术参数
- Python - 认识Python
- python爬取手机aop_Python爬虫之爬取动漫之家
- webView加载H5页面出现空白页的解决办法
- 渗透测试基础 - - - linux入侵排查
- 【移动App自动化测试4】---1基于Android系统的自动化基础
- onmousemove、onmouseover、 onmouseup及onclick的区别