欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java实现网上购物车程序

程序员文章站 2023-12-11 16:52:46
用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()); 
 
  } 
 
} 

运行效果图:

java实现网上购物车程序

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

上一篇:

下一篇: