java简单实现购物车添加,查询,修改,结算商品程序
话不多说,直接上代码~~~~~
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简单实现购物车添加,查询,修改,结算商品程序相关推荐
- ectouch购物车添加勾选结算功能
购物车勾选结算功能 开发使用的是ectouch企业版,带有购物车功能. 当前功能:在商品详情页面,点击添加购物车后,会进入购物车中.在购物车页面,点击'立即购买'会将购物车中的全部商品都结算生成订单. ...
- djang-模型层(model)--添加,查询,修改
上篇带大家简单做了一下图书表的创建.简单的查看和删除,今天会先简单介绍添加和修改,因为添加和修改与删除一样都很简单,本篇会相对多介绍一点单表查询,大家都知道数据库中查询是最重要的一部分,毕竟无论是修改 ...
- java excel 批注_Java 添加、修改、读取、复制、删除Excel批注
本文介绍通过Java程序来操作Excel批注的方法.操作内容包括批注添加(添加批注文本.背景色.字体.自适应等).修改.读取(文本.图片).复制.删除等. 工具:Free Spire.XLS for ...
- cmd命令窗口mysql查询表数据命令行_cmd 命令行模式操作数据库 添加查询 修改 删除 ( 表 字段 数据)...
一 查看数据库.表.数据字段.数据 1 首先配置环境变量 进入mysql 或者通过一键集成工具 打开mysql命令行 或者mysql 可视化工具 打开命令行 进入这样的界面 不同的机器操作不同 ...
- ssm+java计算机毕业设计公交路线查询系统l1auz(程序+lw+源码+远程部署)
项目运行 项目含有源码(见文末).文档.程序.数据库.配套开发软件.软件安装教程 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ E ...
- java语言写购物车_JavaWeb后台购物车类实现代码详解
相信大家肯定都在电商网站买过东西,当我们看中一件喜欢又想买的东西时,这时候你又不想这么快结账,这时候你就可以放入购物车: 就像我们平时去超市买东西一样,会推着购物车去买东西: 那么我们接下来看看jav ...
- Java简单的XSS过滤方法
Java简单的XSS过滤方法 因为某甲方程序XSS过滤类一直没起作用,所以百度了下,简单的写了个参数XSS过滤方法.....上代码~~ import java.io.UnsupportedEncodi ...
- AJAX for Java简单表数据查询实例
AJAX for Java简单表数据查询实例<?XML:NAMESPACE PREFIX = O /> AJAX WebShop 3对Java开发具有良好的支持,同时也提供了各种层次的后台 ...
- EasyUI项目之门户(添加查询购物车与清空购物车)
目标效果: 目标: 1,添加查询购物车 2,清空购物车 一,添加查询购物车 三种实现方法 0.1 session 保存购物车信息到session服务端 0.2 cookie保存购物车到本地(效率更高 ...
- 添加购物车及展示购物车列表,修改购物车数量
1.购物车 -- 添加购物车: 流程分析: 接口实现: 购物车数据表结构: 购物车接口实现: package com.qfedu.fmmall.service;import com.qfedu.fmm ...
最新文章
- 管理分布式session的四种方式。
- OpenStack 系列文章
- 初步了解超图两种3D客户端 - iClient3D for_WebGL 和 iClient3D for_Plugin
- Android 启动APP时黑屏白屏的三个解决方案
- linux网络子系统分析(五)——netfilter
- 【reproject_inter】fits头文件的映射(1,改变fits文件的数据范围,2,对坐标系进行投影转换)
- LeetCode--Reverse Integer(整数反转)Python
- windows python文件拷贝到linux上执行问题
- 脚本病毒---实验十二:脚本病毒
- 怎样利用计算机随机分组,随机分组编制方法哪家强
- 为什么公司宁愿花15k去重招一个应届生,也不愿意加薪5k留住老程序员?
- 第三方登陆之微博登录
- thingworx项目-mushup
- 庆祝鸿蒙指的是哪个生肖,12月中头彩,苦难转幸福,3生肖,鸿蒙紫气,运走上坡路,想啥就有啥...
- 20189230杨 2018-2019-2 《密码与安全新技术专题》第3周作业
- 【odoo15】由于目标计算机积极拒绝,无法连接。
- Android提高与总结的Android技能导图
- 实验五 大学数据库系统中,使用游标编写存储过程,输入学号查询成绩
- numpy PIL tensor之间的相互转换
- 【转】Excel中的Vlookup等函数用法