用java代码写一个简单的网上购物车程序,供大家参考,具体内容如下
需求:
1、写一个商品类,有商品编号、商品名称、商品分类、商品单价属性。
2、写一个商品条目信息类,有商品和数量两个属性,有商品总价格方法。
3、写一个购物车类,有添加商品方法、查看订单信息,删除商品,修改商品,清空购物车,求购物车中所有商品总金额方法。4、写一个测试类,测试上述方法。
商品类:
public class Product { private int productId;// 商品编号 private String productName;// 商品名称 private String category;// 商品分类 private double price;// 单价 public Product() {// 无参构造 super(); } public Product(int productId, String productName, String category, double price) { super(); this.productId = productId; this.productName = productName; this.category = category; this.price = price; } public String toString() { return "Product [productId=" + productId + ", productName=" + productName + ", category=" + category + ", price=" + price + "]"; } public int getProductId() { return productId; } public void setProductId(int productId) { this.productId = productId; } public String getProductName() { return productName; } public void setProductName(String productName) { this.productName = productName; } public String getCategory() { return category; } public void setCategory(String category) { this.category = category; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } }
商品条目信息类:
public class ProductItem { private Product product;//购买的商品 private int count;//商品数量 public double totalMoney(){//小计 double price=product.getPrice();//获取商品单价 return price*count; } public ProductItem() { super(); } public ProductItem(Product product, int count) { super(); this.product = product; this.count = count; } public Product getProduct() { return product; } public void setProduct(Product product) { this.product = product; } public int getCount() { return count; } public void setCount(int count) { this.count = count; } }
购物车类:
import java.util.Collection; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; public class ShoppingCart {//购物车 //key:商品编号 value:商品条目 private Map<Integer,ProductItem> map=new LinkedHashMap<Integer,ProductItem>(); public void addProduct(Product p){//添加商品 int productId=p.getProductId(); if(map.containsKey(productId)){ ProductItem productItem=map.get(productId); productItem.setCount(productItem.getCount()+1); }else{ map.put(productId, new ProductItem(p,1)); } } public void showAll(){//查看订单信息 Collection<ProductItem> productItems = map.values(); Iterator<ProductItem> iterator = productItems.iterator(); while(iterator.hasNext()){ ProductItem productItem = iterator.next(); Product product = productItem.getProduct(); System.out.println("商品编号:"+product.getProductId()+",商品名称:" +product.getProductName()+",单价:"+product.getPrice()+",数量:"+productItem.getCount() +",小计:"+productItem.totalMoney()); } } public boolean deleteProduct(int productId){//删除商品 if(map.containsKey(productId)){ map.remove(productId); return true; } return false; } public boolean modifyProduct(int productId,int count){//修改 if(map.containsKey(productId)){ if(count>=1){ ProductItem productItem = map.get(productId); productItem.setCount(count); return true; }else if(count==0){//删除该商品 deleteProduct(productId); return true; } } return false; } public void clearCart(){//清空购物车 map.clear(); } public double totalAllMoney(){//商品总钱数 double total=0; Collection<ProductItem> productItems = map.values(); Iterator<ProductItem> iterator = productItems.iterator(); while(iterator.hasNext()){ ProductItem productItem = iterator.next(); double money=productItem.totalMoney(); total+=money; } return total; } }
测试类:
public class ShoppingCartTest { public static void main(String[] args) { ShoppingCart cart=new ShoppingCart(); Product p1=new Product(101,"华硕笔记本","笔记本",4599); Product p2=new Product(102,"苹果","水果",5.9); Product p3=new Product(103,"彩电","家电",2799); Product p4=new Product(104,"秋裤","服装",128); Product p5=new Product(105,"华为手机","手机",2998); Product p6=new Product(101,"华硕笔记本","笔记本",4599);//测试买两件商品的情况 cart.addProduct(p1); cart.addProduct(p2); cart.addProduct(p3); cart.addProduct(p4); cart.addProduct(p5); cart.addProduct(p6); cart.showAll(); System.out.println("############"); boolean flag=cart.deleteProduct(p2.getProductId()); if(flag){ System.out.println("商品编号为:"+p2.getProductId()+"的商品删除成功!"); }else{ System.out.println("删除失败"); } cart.showAll(); System.out.println("############"); boolean flag2=cart.modifyProduct(p3.getProductId(), 2); if(flag2){ System.out.println("商品编号为:"+p3.getProductId()+"的商品修改成功!"); }else{ System.out.println("修改失败"); } cart.showAll(); //cart.clearCart(); //cart.showAll(); System.out.println("商品总价钱为:"+cart.totalAllMoney()); } }
运行效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍Python实现购物车购物小程序,包括了Python实现购物车购物小程序的使用技巧和注意事项,需要的朋友参考一下 概要 按理说,我们入门的第一个小程序都应该是Hello World。因为比较简单,我这也就不做过多的演示 了。 下面是我写的一个小程序。主要用于练习Python的基本语法,以及入门。 主要实现功能 要求用户输入自己预期消费额度. 展示现有商品信息,要求用户选择 用户选择对
本文向大家介绍Python实现购物车程序,包括了Python实现购物车程序的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了程序:Python购物车程序,具体内容如下 需求: 启动程序后,让用户输入工资,然后打印商品列表 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时退出,退出时,打印已购买商品和余额 如余额不足,可充值 代码: 程序效
本文向大家介绍php实现购物车功能(上),包括了php实现购物车功能(上)的使用技巧和注意事项,需要的朋友参考一下 本文分两篇为大家介绍php实现购物车功能,具有一定的参考价值,相信大家一定喜欢。 1、需求分析 我们需要找到一种将数据库连接到用户的浏览器的方法。用户能够按目录浏览商品。 用户应该能够从商品目录中选取商品以便此后的购买。我们也要能够记录他们选中的物品。 当用户完成购买,要合计他们的
本文向大家介绍ASP.NET购物车实现过程详解,包括了ASP.NET购物车实现过程详解的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了ASP.NET实现购物车的具体代码,供大家参考,具体内容如下 1、 将test数据库附加到数据库管理系统中;数据库中的book_info包含下列数据: 2、 新建一个网站,将images文件夹复制到网站中; 3、 在Default.aspx中,通过Da
本文向大家介绍php实现购物车功能(以大苹果购物网为例),包括了php实现购物车功能(以大苹果购物网为例)的使用技巧和注意事项,需要的朋友参考一下 首先是几个简单的登录页面 登录页面写好之后,需要进入处理页面,从数据库中调出用户名和密码: 这个显示的是登录页面 下面要进入主页面了,从数据库中把所有的水果信息调出来,然后我们再来实现加入购物车这一项功能 主页面显示图 接下来是添加购物车页面 然后先是
本文向大家介绍JS实现购物车特效,包括了JS实现购物车特效的使用技巧和注意事项,需要的朋友参考一下 效果: 1.点击全选按钮可以全选,再点击就全不选 2.点击数量 ‘ + ' ‘ - ' 可以自动计算。并且合计保持更新。当数量大于1时‘ - '出现。小于等于1时‘ - '消失 3.点击删除可以实现删除功能。 4.点击全选旁的删除按钮可以全部删除。 5.选好商品后点击已选商品,可以显示选中的商品