话不多说,直接上代码~~~~~

public class Shopping{

public static void main(String[] args) {

//定义商品类,用于后期创建商品对象

//定义购物车对象,使用一个数组对象表示

Goods[] shopCar = new Goods[100];

//3,搭建操作架构

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 (command){

case "add"://添加商品到购物车

addGoods(shopCar,sc);

break;

case "query"://查询购物车商品展示

queryGoods(shopCar);

break;

case "update"://修改商品购买数量

updateGoods(shopCar,sc);

break;

case "pay"://结算金额

payGoods(shopCar);

break;

default:

System.out.println("没有该功能");

}

}

}

private static void payGoods(Goods[] shopCar) {

queryGoods(shopCar);

//定义一个求和变量累加金额

double money = 0;

//遍历购物车数组中的全部商品对象,累加单价*数量

for (int i = 0; i < shopCar.length; i++) {

Goods g = shopCar[i];

if (g != null){

money+= (g.buyNumber*g.price);

}else {

break;

}

}

System.out.println("订单总金额:"+money);

}

private static void updateGoods(Goods[] shopCar,Scanner sc) {

//让用户输入要修改的商品id,

while (true) {

System.out.println("请输入要修改的商品id");

int id = sc.nextInt();

Goods g = getGoodsByID(shopCar, id);

if (g == null) {

//没有该商品

System.out.println("对不起,没有购买商品!");

} else {

//说明存在商品对象

System.out.println("请您输入:" + g.name + "商品最新购买数量:");

int buyNumber = sc.nextInt();

g.buyNumber = buyNumber;

System.out.println("修改完成!");

queryGoods(shopCar);

break;

}

}

}

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;

}

private static void queryGoods(Goods[] shopCar) {

System.out.println("==========查询购物车信息如下==========");

System.out.println("编号\t\t名称\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\t"+g.price+"\t\t\t"+g.buyNumber);

}else {

//遍历结束

break;

}

}

}

private static void addGoods(Goods[] shopCar,Scanner sc) {

//1,录入用户输入购买的信息

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

//2,把这个购买商品的信息封装成一个商品信息

Goods g = new Goods();

g.id = id;

g.name = name;

g.buyNumber = buyNumber;

g.price = price;

//3,把商品对象添加到购物车中

for (int i = 0; i < shopCar.length; i++) {

if (shopCar[i] == null){

//说明此位置没有元素存入,把我们新买的商品添加到此处即可

shopCar[i] = g;

break;

}

}

System.out.println("您的商品:"+g.name+"添加到购物车完成!");

}

}

java简单实现购物车添加,查询,修改,结算商品程序相关推荐

  1. ectouch购物车添加勾选结算功能

    购物车勾选结算功能 开发使用的是ectouch企业版,带有购物车功能. 当前功能:在商品详情页面,点击添加购物车后,会进入购物车中.在购物车页面,点击'立即购买'会将购物车中的全部商品都结算生成订单. ...

  2. djang-模型层(model)--添加,查询,修改

    上篇带大家简单做了一下图书表的创建.简单的查看和删除,今天会先简单介绍添加和修改,因为添加和修改与删除一样都很简单,本篇会相对多介绍一点单表查询,大家都知道数据库中查询是最重要的一部分,毕竟无论是修改 ...

  3. java excel 批注_Java 添加、修改、读取、复制、删除Excel批注

    本文介绍通过Java程序来操作Excel批注的方法.操作内容包括批注添加(添加批注文本.背景色.字体.自适应等).修改.读取(文本.图片).复制.删除等. 工具:Free Spire.XLS for ...

  4. cmd命令窗口mysql查询表数据命令行_cmd 命令行模式操作数据库 添加查询 修改 删除 ( 表 字段 数据)...

    一 查看数据库.表.数据字段.数据 1 首先配置环境变量 进入mysql  或者通过一键集成工具 打开mysql命令行  或者mysql 可视化工具 打开命令行 进入这样的界面   不同的机器操作不同 ...

  5. ssm+java计算机毕业设计公交路线查询系统l1auz(程序+lw+源码+远程部署)

    项目运行 项目含有源码(见文末).文档.程序.数据库.配套开发软件.软件安装教程 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ E ...

  6. java语言写购物车_JavaWeb后台购物车类实现代码详解

    相信大家肯定都在电商网站买过东西,当我们看中一件喜欢又想买的东西时,这时候你又不想这么快结账,这时候你就可以放入购物车: 就像我们平时去超市买东西一样,会推着购物车去买东西: 那么我们接下来看看jav ...

  7. Java简单的XSS过滤方法

    Java简单的XSS过滤方法 因为某甲方程序XSS过滤类一直没起作用,所以百度了下,简单的写了个参数XSS过滤方法.....上代码~~ import java.io.UnsupportedEncodi ...

  8. AJAX for Java简单表数据查询实例

    AJAX for Java简单表数据查询实例<?XML:NAMESPACE PREFIX = O /> AJAX WebShop 3对Java开发具有良好的支持,同时也提供了各种层次的后台 ...

  9. EasyUI项目之门户(添加查询购物车与清空购物车)

    目标效果: 目标: 1,添加查询购物车 2,清空购物车 一,添加查询购物车 三种实现方法 0.1 session 保存购物车信息到session服务端 0.2 cookie保存购物车到本地(效率更高  ...

  10. 添加购物车及展示购物车列表,修改购物车数量

    1.购物车 -- 添加购物车: 流程分析: 接口实现: 购物车数据表结构: 购物车接口实现: package com.qfedu.fmmall.service;import com.qfedu.fmm ...

最新文章

  1. 管理分布式session的四种方式。
  2. OpenStack 系列文章
  3. 初步了解超图两种3D客户端 - iClient3D for_WebGL 和 iClient3D for_Plugin
  4. Android 启动APP时黑屏白屏的三个解决方案
  5. linux网络子系统分析(五)——netfilter
  6. 【reproject_inter】fits头文件的映射(1,改变fits文件的数据范围,2,对坐标系进行投影转换)
  7. LeetCode--Reverse Integer(整数反转)Python
  8. windows python文件拷贝到linux上执行问题
  9. 脚本病毒---实验十二:脚本病毒
  10. 怎样利用计算机随机分组,随机分组编制方法哪家强
  11. 为什么公司宁愿花15k去重招一个应届生,也不愿意加薪5k留住老程序员?
  12. 第三方登陆之微博登录
  13. thingworx项目-mushup
  14. 庆祝鸿蒙指的是哪个生肖,12月中头彩,苦难转幸福,3生肖,鸿蒙紫气,运走上坡路,想啥就有啥...
  15. 20189230杨 2018-2019-2 《密码与安全新技术专题》第3周作业
  16. 【odoo15】由于目标计算机积极拒绝,无法连接。
  17. Android提高与总结的Android技能导图
  18. 实验五 大学数据库系统中,使用游标编写存储过程,输入学号查询成绩
  19. numpy PIL tensor之间的相互转换
  20. 【转】Excel中的Vlookup等函数用法

热门文章

  1. 内外兼修 高阶游戏鼠标达尔优A970黑武士评测
  2. windows部署tensorflow serving
  3. 用Python画个新冠病毒
  4. iOS平台游戏安全之IPA破解原理及防御
  5. Android 实现沉浸式体验
  6. Error inflating class出现报错
  7. Android软键盘与界面内容的坑
  8. 论文笔记 - Learning Compact Binary Descriptors with Unsupervised Deep Neural Networks
  9. 携程开源的分布式apollo技术,不吃透都对不起自己
  10. 英语学习--chap7 形容词