您的位置:首页 > 其它

实现功能要求统计图书的总价,编写方法查询出在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=施耐庵
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐