需求:用java实现基本的购物车功能需求!

基本功能:添加商品 查询商品 修改商品数量 计算总价

基本思想:使用面向对象定义购物车类,定义类的属性方法从而进行操作;建议初学java的同学可以写一写这个案例!!!

案例文件结构:

一:定义商品(Goods)类

Goods文件

package shopcar;//定义商品类
public class Goods {int id;String name;double price;int buyNumber;
}

二:具体逻辑实现代码

shopCar文件

package shopcar;import java.util.Scanner;public class ShopCarDemo {public static void main(String[] args) {Goods [] shopCar= new Goods[50];//while循环使得不断给用户提示输入while(true){System.out.println("请输入如下命令:");System.out.println("添加商品:add");System.out.println("查询商品:query");System.out.println("修改商品数量:update");System.out.println("结算商品金额:pay");Scanner sc=new Scanner(System.in);System.out.println("请你输入命令:");String command =sc.next();//switch匹配命令操作switch(command){case "add":add(shopCar,sc);break;case "query":query(shopCar);break;case "update":update(shopCar,sc);break;case "pay":pay(shopCar);break;default:System.out.println("命令错误");}}}
//添加商品函数public static void add(Goods[] shopCar ,Scanner sc) {System.out.println("输入购买商品的编号:");int id=sc.nextInt();System.out.println("输入购买商品名称:");String name=sc.next();System.out.println("输入购买商品数量:");int buyNumber=sc.nextInt();System.out.println("输入购买商品价格:");double price=sc.nextDouble();//将商品封装为一个对象Goods g=new Goods();g.id=id;g.name=name;g.buyNumber=buyNumber;g.price=price;//存入数组for (int i = 0; i < shopCar.length; i++) {if(shopCar[i]==null){shopCar[i]=g;break;}}System.out.println("商品:"+g.name+"添加完成!");}//查询商品函数public static void query(Goods[] shopCar) {System.out.println("-----------购物车信息---------");System.out.println("编号\t\t名称\t\t价格\t\t购买数量");for (int i = 0; i < shopCar.length; i++) {Goods g=shopCar[i];if(g != null){System.out.println(g.id+"\t\t"+g.name+"\t\t"+g.price+"\t\t"+g.buyNumber);}else {break;}}}//修改商品购买数量函数public static void update(Goods[] shopCar,Scanner sc) {System.out.println("输入修改商品的id");int id=sc.nextInt();Goods g=getGoodsById(shopCar,id);if(g==null){System.out.println("sorry,无该商品");}else{System.out.println("输入:"+g.name+"商品最新购买数量");int buyNumber=sc.nextInt();g.buyNumber=buyNumber;System.out.println("修改成功");query(shopCar);}}//定义一个getGoodsById函数来确认输入id是否存在与匹配public  static  Goods getGoodsById(Goods[] shopCar,int id){for (int i = 0; i < shopCar.length; i++) {Goods g=shopCar[i];if(g !=null) {if(g.id==id){return g;}}else {return null;}}return null;}//计算总金额函数public static void pay(Goods[] shopCar) {double sum=0;for (int i = 0; i < shopCar.length; i++) {Goods g=shopCar[i];if(g !=null){sum+=(g.buyNumber*g.price);}else {break;}}System.out.println("购物车总金额:"+sum);}
}

操作展示




希望对大家有所帮助!!!!!!!

java实现基本的购物车功能案例相关推荐

  1. input禁止后怎么实现复制功能_(变强、变秃)Java从零开始之JQuery购物车功能实操...

    今天实现了购物车的一些功能,包括删除添加,复制,修改值,全选,反选等. 以下是代码跟配图: js代码部分:通过各种事件实现了按钮的具体功能 $(function(){//全选功能$("#ch ...

  2. java table修改指定行_(变强、变秃)Java从零开始之JQuery购物车功能实操

    今天实现了购物车的一些功能,包括删除添加,复制,修改值,全选,反选等. 以下是代码跟配图: js代码部分:通过各种事件实现了按钮的具体功能 $ 这是HTML页面的样板: < 页面效果 点击全选: ...

  3. java购物车后台_java开发——购物车功能如何实现

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

  4. JAVA项目实战开发电商项目案例(八)购物车功能开发

    文章目录 1购物车功能演示 2购物车功能模块分析 2.1购物车流程 2.2 数据库表分析 2.3购物车接口分析 2.4关键代码分析 3个人总结 4个人说明 5[我的个人网站](http://www.l ...

  5. 【Vue案例】——实现简易购物车功能

    实现简易购物车功能 静态页面展示 商品详情页 购物车页面 购物车功能的实现 将商品添加至购物车 首先我们要在商品详情页为每一个商品的添加购物车按钮绑定一个点击事件,参数是该商品对象(将商品的所有属性包 ...

  6. JS实现购物车功能(JS案例)

    整理了一下当时学js写的一些案例,觉得购物车功能在一般网站比较常见且基础,现在把它整理出来,需要的小伙伴可以参考一下. 该案例购物车主要功能如下: 1. 商品单选.全选.反选功能 2. 商品添加.删除 ...

  7. java代码实现购物车小程序_使用Taro实现小程序商城的购物车功能模块的实例代码...

    Taro 是一套遵循 React 语法规范的 多端开发 解决方案. 现如今市面上端的形态多种多样,Web.React-Native.微信小程序等各种端大行其道,当业务要求同时在不同的端都要求有所表现的 ...

  8. php 购物车案例教程,php初步实现购物车功能的实例分析

    在我们日常开发工作中,我们很多的时候都是在跟开发商城,购物类的一些网站,那么既然是购物类的网站,购物车这个功能那是必不可少的,这个功能的复杂性还是比较大的,那么我们今天给大家介绍的是初步完成购物车的实 ...

  9. Shiro 核心功能案例讲解 基于SpringBoot 有源码

    Shiro 核心功能案例讲解 基于SpringBoot 有源码 从实战中学习Shiro的用法.本章使用SpringBoot快速搭建项目.整合SiteMesh框架布局页面.整合Shiro框架实现用身份认 ...

最新文章

  1. npm 重新安装依赖_npm-shrinkwrap锁定依赖
  2. Python之字符编码(Day10)
  3. Java网络编程笔记4
  4. linux信号使用,linux信号使用注意事项
  5. LeetCode--11_974_Subarray_Sums_Divisible_by_K
  6. [转]字符串匹配那些事
  7. 【假期福利】用尺子丈量宇宙:古人竟是这样理解我们的地球
  8. Linux 会成为主流桌面操作系统吗?
  9. java adapter 模式_Java设计模式之适配器模式(Adapter模式)介绍
  10. DCP(Deep Closest Point)论文阅读笔记以及详析
  11. git全局配置用户名和密码_git---全局设置用户名、密码、邮箱
  12. 安全应急响应工作中易犯的5大错误
  13. 需求分析报告和需求规格说明书有什么区别
  14. 软考高项比中项在难度上高多少?
  15. 火狐firefox插件plugin:
  16. python中sample是什么意思_【后端开发】python中的sample什么意思
  17. Ice飞冰目录结构应用入口工程配置路由配置《四》
  18. 01组-2022软工K班现场编程任务
  19. [附源码]Node.js计算机毕业设计高校智慧党建党务管理系统Express
  20. 微信与qq的聊天记录迁移

热门文章

  1. ZVS空载电流大及波形畸变问题
  2. 文件服务器同步,文件服务器同步
  3. sqlserver2000安装程序以及补丁下载
  4. 绩效考核-项目经理绩效考核指标
  5. (7)web安全|渗透测试|网络安全 如何判断是否有CDN存在,并绕过CDN找到真正的ip的方法
  6. oracle使用(五)表空间创建、删除以及删除后数据文件还存在的问题
  7. ElasticSearch底层实现原理
  8. Sun公司,Oracle公司(10.8)
  9. mysql投影和选择区别_关系运算里面,“选择”和“投影”区分?
  10. 运行易语言必须放在c盘才能打开,易语言怎样写隐藏运行图片里的文件