Java作业-查询相等价格图书
来源:互联网 发布:浦东网络电视台 编辑:程序博客网 时间:2024/06/11 23:11
目标效果:
代码:
import java.util.LinkedHashMap;import java.util.Map;import java.util.Map.Entry;/** * 编写一个Book类,该类至少有name和price两个属性。 * 该类要实现Comparable接口,在接口的compareTo()方法中规定两个Book类实例的大小关系为二者的price属性的大小关系。 * 在主函数中,选择合适的集合类型存放Book类的若干个对象,然后创建一个新的Book类的对象,并检查该对象与集合中的哪些对象相等。 * 查询结果: * 新书:《模式识别》与下列图书: * Java基础教程 * 数据库技术 * C++基础教程 * 价格相同,具体价格为:29.0元。 * * @author Vivinia * @param <Book> * */public class Book implements Comparable<Book>{String name;double piece;public Book(String name,double piece){this.name=name;this.piece=piece;}@Overridepublic int compareTo(Book o) {if(piece>o.piece)return 1; //前一个大于后一个,返回1,降序else if(piece==o.piece)return 0; //前一个等于后一个,返回0elsereturn -1; //前一个小于后一个,返回-1,升序}public static void main(String[] args) {Map<String,Double> bookMap=new LinkedHashMap<String,Double>();bookMap.put("Java基础课程",29.0);bookMap.put("Android开发",38.0);bookMap.put("数据结构",30.0);bookMap.put("数据库技术",29.0);bookMap.put("计算机网络技术",32.0);bookMap.put("C++基础教程",29.0);Book newBook=new Book("模式识别",29.0);System.out.println("新书:《模式识别》与下列图书:");for(Entry<String, Double> b : bookMap.entrySet()){ //遍历map中的每个元素Book comBook=new Book(b.getKey(),b.getValue()); //将每个元素转换为Book型if(newBook.compareTo(comBook)==0) //删选比较值为0的,即价格相等的System.out.println(comBook.name);}System.out.println("价格相同,具体价格为:"+newBook.piece+"元。");}}
注意一个小问题,就是一开始我实例化都是HashMap,但是发现存进去的数据和插入的顺序不一致,大概因为HashMap散列映射的事,但是换了TreeMap还是不一致,我也不太清楚,最后使用了LinkedHashMap,这个存储顺序和插入一致。
阅读全文
0 0
- Java作业-查询相等价格图书
- 第八次作业,图书价格的比较。
- Java图书查询系统实例
- Oracle 更新图书价格
- 爬取京东图书价格信息分析
- 泛式——图书价格
- 图书查询
- SAP作业价格计算
- Java大作业----三层的架构图书管理系统
- 图书api 查询图书内容
- Android开发练习作业:纸黄金白银实时价格查询App
- 读取文本文件,输出图书名字和价格
- Adsense关键词价格查询
- 价格查询网
- 芯片价格查询网址
- CCF NOI1017 价格查询
- 查询水果价格
- 综合作业:图书管理系统
- VS2013 +QT5.7+QGIS2.18
- linux系统安装VNC服务端
- JZOJ5484. 【清华集训2017模拟11.26】快乐树
- eclipse常用快捷键大全
- 3种PHP连接MYSQL数据库的常用方法
- Java作业-查询相等价格图书
- springcloud入门之服务提供者client并注册到eureka
- PAT1051
- SQLite Expert (Andorid Sqlite 可视化工具)中文乱码问题解决
- Linux查找当前扩展名为.txt的文本文件,并找出包含的某个字符串
- matlab——struct
- SVM思维导图
- 简述“自顶向下,逐步求精”的方法
- 关于数据块的回滚和事物的回滚