当前位置: 移动技术网 > IT编程>开发语言>Java > java实现网上购物车程序

java实现网上购物车程序

2019年07月19日  | 移动技术网IT编程  | 我要评论

用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()); 
 
  } 
 
} 

运行效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网