创建购物车实体类,模拟购物车功能
2017-08-25 20:13
585 查看
题目:
创建购物车实体类,模拟购物车功能(内部使用HashMap,key是商品,value是商品的数量)
需求:
1)添加商品到购物车(输入商品的编号和数量)
2)删除商品(删除购物车中的指定购物项)
3)修改商品(修改商品的数量)
4)显示所购买的商品信息(按购买商品的总价进行升序显示)(可以通过TreeMap的构造方法,传入一个HashMap生成一个TreeMap)
代码:
mport java.util.Comparator;
import java.util.HashMap;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap;
public class Ex2 {
public static void main(String[] args) {
Product p1 = new Product(1, “苹果”, 5);
Product p2 = new Product(1, “香蕉”, 6);
Product p3 = new Product(1, “雪梨”, 7);
Product p4 = new Product(1, “西瓜”, 8);
ShoppingCart sc = new ShoppingCart();
// 添加商品到购物车
sc.getMap().put(p1, 10);
sc.getMap().put(p2, 20);
sc.getMap().put(p3, 30);
sc.getMap().put(p4, 40);
// 删除购物车中的指定商品
sc.getMap().remove(p2);
// 修改购物车中的商品数量
sc.getMap().put(p1, 100);
// 修改购物车中的商品信息
p1.setPrice(100);
// 显式所有商品
sc.showAllProducts();
}
}
// 购物车
class ShoppingCart {
// private List list;
}
// 商品
class Product {
private int num;
private String name;
private double price;
// private int count;
}
创建购物车实体类,模拟购物车功能(内部使用HashMap,key是商品,value是商品的数量)
需求:
1)添加商品到购物车(输入商品的编号和数量)
2)删除商品(删除购物车中的指定购物项)
3)修改商品(修改商品的数量)
4)显示所购买的商品信息(按购买商品的总价进行升序显示)(可以通过TreeMap的构造方法,传入一个HashMap生成一个TreeMap)
代码:
mport java.util.Comparator;
import java.util.HashMap;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap;
public class Ex2 {
public static void main(String[] args) {
Product p1 = new Product(1, “苹果”, 5);
Product p2 = new Product(1, “香蕉”, 6);
Product p3 = new Product(1, “雪梨”, 7);
Product p4 = new Product(1, “西瓜”, 8);
ShoppingCart sc = new ShoppingCart();
// 添加商品到购物车
sc.getMap().put(p1, 10);
sc.getMap().put(p2, 20);
sc.getMap().put(p3, 30);
sc.getMap().put(p4, 40);
// 删除购物车中的指定商品
sc.getMap().remove(p2);
// 修改购物车中的商品数量
sc.getMap().put(p1, 100);
// 修改购物车中的商品信息
p1.setPrice(100);
// 显式所有商品
sc.showAllProducts();
}
}
// 购物车
class ShoppingCart {
// private List list;
private HashMap<Product, Integer> map; public ShoppingCart() { super(); this.map = new HashMap<Product, Integer>(); } public HashMap<Product, Integer> getMap() { return map; } public void setMap(HashMap<Product, Integer> map) { this.map = map; } public void showAllProducts() { // 排序 // Collections.sort(list); TreeMap<Product, Integer> tm = new TreeMap<Product, Integer>(new Comparator<Product>() { @Override public int compare(Product o1, Product o2) { if (o1.getPrice() * map.get(o1) > o2.getPrice() * map.get(o2)) { return 1; } else if (o1.getPrice() * map.get(o1) < o2.getPrice() * map.get(o2)) { return -1; } else { return 0; } } }); tm.putAll(map); Set<Entry<Product, Integer>> entrySet = tm.entrySet(); for (Entry<Product, Integer> entry : entrySet) { Product product = entry.getKey(); Integer count = entry.getValue(); System.out.println(product + ",数量:" + count + ",总价:" + product.getPrice() * count); } }
}
// 商品
class Product {
private int num;
private String name;
private double price;
// private int count;
public Product(int num, String name, double price) { super(); this.num = num; this.name = name; this.price = price; } public int getNum() { return num; } public void setNum(int num) { this.num = num; } 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; } @Override public String toString() { return "Product [num=" + num + ", name=" + name + ", price=" + price + "]"; }
}
相关文章推荐
- -Java 创建购物车实体类,模拟购物车功能需求
- 模拟实现MyBatis中通过SQL反射实体类对象功能
- js中的DOM模拟购物车功能
- 创建Cookie,简单模拟登录,记录登录名,购物车记录先前添加内容,session控制登录
- 我的练习项目: 模拟淘宝搜索商品、添加商品到购物车功能、修改商品信息功能
- 20.购物车商品价格的总和(里面有一些功能没有实现,创建textview布局对象,然后for()遍历数据求和)
- 模拟实现MyBites中通过SQL反射实体类对象功能
- 1模拟网易邮箱实现全选,全不的功能(服务端和客户端) 2 使用DataList实现 加入购物车,编辑,删除,更新,取消功能。要求连一个产品表。
- 创建函数利用可变参数列表的形式模拟实现printf的功能
- 模拟网易邮箱实现全选,全不的功能/使用DataList实现 加入购物车,编辑,删除,更新,取消功能。/试完成Datalist使用存储过程来分页
- 【转】MySQL中增加sequence管理功能(模拟创建sequence)
- 模拟dos中的xcopy功能,实现文件的复制,当子文件夹不存在时自动创建
- jQuery模拟淘宝购物车功能
- 初学者 模拟购物车(包含添加商品和删除商品功能)
- 模拟购物车功能
- [经验]创建支持多地区的分站功能
- InstallShield 2012 Spring新功能试用(10): 支持在安装过程创建预定义的多个Windows用户帐号和组
- 使用session技术来实现网上商城购物车的功能
- Maven学习笔记(三)—— 使用Maven自带的功能创建Java和JavaWeb项目