导读热词

用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 map=new LinkedHashMap();

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 productItems = map.values();

Iterator 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 productItems = map.values();

Iterator 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实现网上购物车程序全部内容,希望文章能够帮你解决java实现网上购物车程序所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

java怎么实现购物车_java实现网上购物车程序相关推荐

  1. java web购物车_java web开发——购物车功能实现

    之前没有接触过购物车的东东,也不知道购物车应该怎么做,所以在查询了很多资料,总结一下购物车的功能实现. 查询的资料,找到三种方法: 1.用cookie实现购物车: 2.用session实现购物车: 3 ...

  2. java程序 购物车_用java代码写一个简单的网上购物车程序

    1 需求:1.写一个商品类,有商品编号.商品名称.商品分类.商品单价属性.2.写一个商品条目信息类,有商品和数量两个属性,有商品总价格方法.2 3 3.写一个购物车类,有添加商品方法.查看订单信息,删 ...

  3. java购物车 数据库_网上购物车数据库设计(转)

    一.概述 网上购物店的数据模型,它主要模式有产品:product,帐户:Account,定单:Order.和产品相关的表有category,product,item, inventory, suppl ...

  4. java购书管理系统代码_Java Web 网上书店管理系统

    [实例简介] Java Web网上书店 J2EE,内含源代码,数据库. [实例截图] [核心代码] 38e595d4-15a3-4def-bf32-4e3b21d8c473 └── 网上书店 ├── ...

  5. java 文件下载详解_Java 从网上下载文件的几种方式实例代码详解

    废话不多说了,直接给大家贴代码了,具体代码如下所示: package com.github.pandafang.tool; import java.io.BufferedOutputStream; i ...

  6. 用java代码写的段子_网上调侃程序员的段子

    1.栈和队列的区别是啥? 吃多了拉就是队列:吃多了吐就是栈 2.世界上最遥远的距离不是生与死,而是你亲手制造的BUG就在你眼前,你却怎么都找不到她. 3.<c++程序设计语言>比<c ...

  7. java sleep不能使用_java无主窗口GUI程序主线程不能调用sleep(long)方法,会产生异常...

    java无主窗口GUI程序主线程不能调用sleep(long)方法,会产生异常. public class fxframe{ public static void main(String[] args ...

  8. java里程序控制流程_Java语言中的程序流程控制

    (1. 流程控制 有三种基本技术可以改变程序的控制流程: A.调用方法 :将导致控制流程离开当前方法,转移到被调用的方法. B.选择  :   a. if / else 语句 b. switch语句 ...

  9. win7 docker java开发环境变量_java – Docker. Spring应用程序.设置和获取环境变量

    我正试图将我的Spring应用程序停靠. 问题: 我无法从我的Spring应用程序中获取docker容器中的环境变量. Spring配置(2个选项,单独试用) 也试过java URI dbUrl = ...

最新文章

  1. php redis 二进制,php-redis扩展
  2. VC2010不能将参数从“CString”转换为“const char *”
  3. 如何卸载安装有问题的devexpress组件?
  4. SpringBoot +RabbitMQ 做智能家居,居然如此简单!
  5. 真香!GitHub刚刚宣布:私有库免费啦!
  6. Angular TView和LView数据结构
  7. mybatis更新时间字段_你以为把Mybatis型处理器了解了,就不会“暴雷”了!
  8. 容器搭建Hadoop步骤
  9. js做的flash形式的幻灯图片
  10. POJ-3264-Balanced Lineup
  11. 吴俊计算机音乐研究者,音乐与科学有效整合的研究
  12. 查看编译war包的jdk版本
  13. 矮人DOS工具箱 V4.2 安装及使用
  14. Drain基于固定深度解析树
  15. 哪款蓝牙耳机耳朵不疼?久戴不疼的骨传导耳机
  16. Dual-Resolution Correspondence Networks 2020
  17. java-php-python-旅游景区预约管理系统计算机毕业设计
  18. pat乙级 1006 题解
  19. Unity技术手册 - 生命周期LifetimebyEmitterSpeed-周期内颜色ColorOverLifetime-速度颜色ColorBySpeed
  20. 长生诀linux架设教程,手游【长生诀】VM一键即玩服务端+GM工具+图文教程

热门文章

  1. 十进制和二进制简单计算
  2. u盘启动计算机的几种方式,U盘启动那种模式最好?快试试这个方法!
  3. 利用计算机测地震是计算机的什么,六年级计算机测试题
  4. NVIC中断优先级管理
  5. PCIEx8接口FPGA处理DMA控制器高速信号采集卡
  6. window下Anaconda环境的创建、删除、激活、退出
  7. golang 格式化占位符相关
  8. linux vim命令pdf,Linux中vi、vim命令大全
  9. python中strip函数_python中strip()函数的理解
  10. [Tableau] 直方图绘制