java实现网上购物车程序
程序员文章站
2023-12-16 17:44:22
用java代码写一个简单的网上购物车程序,供大家参考,具体内容如下
需求:
1、写一个商品类,有商品编号、商品名称、商品分类、商品单价属性。
2、写一个商品条目信...
用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()); } }
运行效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。