实现功能要求统计图书的总价,编写方法查询出在50元以上的所有图书,使用排序接口图书按照价格排序(升序排序)
2018-03-29 11:44
921 查看
package com.exam2; public class Book { private String name; private double price; private String author; public String getName() { return name; } public void setName(String name) { this.name = name; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } @Override public String toString() { return "name=" + name + ", price=" + price + ", author=" + author; } }
package com.exam2; import java.util.ArrayList; import java.util.Comparator; import java.util.List; /** 编写图书信息:并初始化测试数据到集合中 {name:"水浒传",price:90.0,author:"施耐庵"} {name:"西游记", price:60.0,author:"吴承恩"} {name:"红楼梦", price:30.0,author:"曹雪芹"} {name:"三国演义", price:70.0,author:"罗贯中"} 实现功能要求统计图书的总价。 编写方法查询出在50元以上的所有图书 使用排序接口图书按照价格排序(升序排序) */ public class BookMain { public static void main(String[] args) { List<Book> books=new ArrayList<>(); //初始化测试数据 init(books); for (Book b : books) { System.out.println(b); } //实现功能要求统计图书的总价。 sumPrice(books); //编写方法查询出在50元以上的所有图书 query(books); //使用排序接口图书按照价格排序(升序排序) System.out.println("图书按照价格排序(升序排序):"); books.sort(new Comparator<Book>() { @Override public int compare(Book o1, Book o2) { return (int) (o1.getPrice()-o2.getPrice()); } }); for (Book b : books) { System.out.println(b); } } private static void init(List<Book> books) { Book book=new Book(); book=new Book(); book.setName("水浒传"); book.setPrice(90.0); book.setAuthor("施耐庵"); books.add(book); book=new Book(); book.setName("西游记"); book.setPrice(60.0); book.setAuthor("吴承恩"); books.add(book); book=new Book(); book.setName("红楼梦"); book.setPrice(30.0); book.setAuthor("曹雪芹"); books.add(book); book=new Book(); book.setName("三国演义"); book.setPrice(70.0); book.setAuthor("罗贯中"); books.add(book); } private static void query(List<Book> books) { System.out.println("50元以上的所有图书:"); for (Book book : books) { if(book.getPrice()>50) { System.out.println(book); } } } private static void sumPrice(List<Book> books) { double total=0; for (Book book : books) { total+=book.getPrice(); } System.out.println("图书的总价:"+total+"元"); } }
运行得: name=水浒传, price=90.0, author=施耐庵 name=西游记, price=60.0, author=吴承恩 name=红楼梦, price=30.0, author=曹雪芹 name=三国演义, price=70.0, author=罗贯中 图书的总价:250.0元 50元以上的所有图书: name=水浒传, price=90.0, author=施耐庵 name=西游记, price=60.0, author=吴承恩 name=三国演义, price=70.0, author=罗贯中 图书按照价格排序(升序排序): name=红楼梦, price=30.0, author=曹雪芹 name=西游记, price=60.0, author=吴承恩 name=三国演义, price=70.0, author=罗贯中 name=水浒传, price=90.0, author=施耐庵
相关文章推荐
- 编写程序实现以下功能: 随机产生20个正整数存入数组a中,且每个数均在1000-9999之间(包含1000和9999)。对数组进行排序,要求按每个数的后三位的大小进行升序排列,然后取出满足此条
- Thinkphp 3.2及以上版本实现支付宝担保交易、即时到账接口类、函数和使用方法
- 4.第三单元任务三实训:编写一个类ExceptionTest,在main方法中使用try-catch-finally语句结构实现:在try语句块中,编写两个数相除操作,相除的两个操作数要求程序运行时用
- 地磅称量系统之(53)在封装对象的类库中实现包括IDataErrorInfo接口提供的所有方法和并且扩展对异常具有添加和删除功能的基本业务对象基类
- List的All方法使用问题:我用List1的All方法来确保List1的所有每个数组元素中是否包含Arr1中的任意元素,这个部分很难实现。 因为,没有一个数组中是否包含另一个数组中的任意元素这个功能
- 1、实现接口的抽象类——适配器;2、代理公司的方法——功能更强大的包装类;3、接口的使用——工厂模式(高内聚低耦合)
- Java TreeSet集合排序 && 定义一个类实现Comparator接口,覆盖compare方法 && 按照字符串长度排序
- 使用ADF-BC 实现查询功能之九:重写getCriteriaItemClause方法设置Criteria中的变量
- PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
- 集合中按照商品价格排序,按照学生编号排序,Collections集合里的sort方法,Comparator<T>接口,Comparable<T>接口,
- 公司要求开发一个继承System.Windows.Forms.ListView类的组件,要求达到以下的特殊功能:点击ListView各列列头时,能按照点击列的每行值进行重排视图中的所有行 (排序的方式如DataGrid相似)。根据您的知识,
- //1、有一个字符串开头或结尾含有n个空格(” abcdefgdddd ”),欲去掉前后空格,返回一个新字符串。 //要求1:请自己定义一个接口(函数),并实现功能;70分 //要求2:编写
- 2、按以下要求编写程序 (1) 编写Animal接口,接口中声明run() 方法 (2) 定义Bird类和Fish类实现Animal接口 (3) 编写Bird类和Fish类的测试程序,并调用其
- Hadoop:使用原生python编写MapReduce来统计文本文件中所有单词出现的频率功能
- android使用ksoap2调用webservice接口实现电话号码查询功能
- Solr部署,连接mysql,实现模糊查询功能,以及按照距离排序功能
- 比较器的使用,实现 Comparable接口,功能:实现对象的多条件比较,排序
- 请通过代码实现以下功能:输入一个5X5的二维数组,将数组进行排序,其中一维数组按照平均值降序,一维数组内部升序排列。
- Java编程之TreeSet排序两种解决方法(1)元素自身具备比较功能,元素需要实现Comparable接口覆盖compare(2)创建根据自定义Person类的name进行排序的Comparator
- 使用mod_ext_filter组件在Apache中实现输出内容的替换,为所有页面增加统计功能