Goods类

package demo6;public class Goods {private int id;  //编号private String name;  //名称private double price;  //价格private int  buyNumber;  //购买数量public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}public int getBuyNumber() {return buyNumber;}public void setBuyNumber(int buyNumber) {this.buyNumber = buyNumber;}public Goods() {}public Goods(int id, String name, double price, int buyNumber) {this.id = id;this.name = name;this.price = price;this.buyNumber = buyNumber;}
}

全部代码

package demo6;import java.util.Scanner;public class shopCarTest {/*目标:面向对象编程训练,购物车模块模拟
*/public static void main(String[] args) {//1.定义商品类,用于后期创建商品对象//2. 定义购物车对象,使用一个数组对象表示 [null,null,...]Goods[] shopCar=new Goods[100];//3.搭建操作架构while (true) {System.out.println("请选择如下命令进行操作:");System.out.println("添加商品到购物车:add");System.out.println("查询购物车商品展示:query");System.out.println("修改商品购买数量:updates");System.out.println("结算购买商品金额:pay");Scanner sc=new Scanner(System.in);String command=sc.next();switch (command){case "add"://添加商品到购物车addGoods(shopCar,sc);break;case "query"://查询商品购物车展示queryGoods(shopCar);break;case "updates"://修改商品的购买数量updateGoods(shopCar,sc);break;case "pay"://结算金额pay(shopCar);break;default:System.out.println("没有该功能!");}}}public static void pay(Goods[] shopCar) {queryGoods(shopCar);//1.定义一个求和变量累加金额double money=0;//2。遍历购物车中的全部商品对象,累加单价*数量//[g1,g2,null,null,...]for (int i = 0; i < shopCar.length; i++) {Goods g=shopCar[i];if(g!=null){money+=(g.getPrice()*g.getBuyNumber());}else {break;}}System.out.println("订单总金额"+money);}public static void updateGoods(Goods[] shopCar,Scanner sc) {//让用户输入要修改商品的id,根据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.getName() + "的修改数量");int buyNumber = sc.nextInt();g.setBuyNumber(buyNumber);System.out.println("修改完成");queryGoods(shopCar);break;}}}public static Goods getGoodsById(Goods[] shopCar,int id){//shopCar=[g1,g2,g3,null,null,....]for (int i = 0; i < shopCar.length; i++) {Goods g=shopCar[i];if(g!=null){//判断这个商品对象的id是否是我们要找的if(g.getId()==id){return g;}}else{return null;   //找完了全面存在的商品,都没有找到}}return null;   //代表了找完了100个商品都没有找到id一样的商品}/***     查询购物车中的商品对象信息,并展示出来*/public 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.getId()+"\t\t"+g.getName()+"\t\t\t"+g.getPrice()+"\t\t\t"+g.getBuyNumber());}else{//遍历结束break;}}}public 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("请输入购买商品的价格:");double price=sc.nextDouble();System.out.println("请输入购买商品的数量:");int buyNumber=sc.nextInt();//2、把这个购买商品的信息封装成一个商品对象Goods g=new Goods();g.setId(id);g.setName(name);g.setPrice(price);g.setBuyNumber(buyNumber);//3、把这个商品对象添加到购物车数组中去//shopCar=[a,a2,null,...]//for (int i = 0; i < shopCar.length; i++) {if(shopCar[i]==null){//说明此位置没有元素存入,把我们新买的商品添加到此处即可shopCar[i]=g;break;  //结束,因为商品已经成功存入了,不需要继续找位置了}}System.out.println("您的商品:"+g.getName()+"添加到购物车完成了");}}




java编程——案例1:模拟购物车相关推荐

  1. Java多线程案例:模拟12306火车站售票系统

    Java多线程案例:模拟12306火车站售票系统 该系统一共涉及到3个类: 车票(Ticket) 12306系统(System12306) 售票窗口(Window) 车票类,涉及三个属性: 起始站 终 ...

  2. Java编程案例:买飞机票

    编程案例: 一.目的 复习前半段课程学习的Java编程知识,能够使用所学的知识解决问题,提升同学们的编程能力. 二.涉及到的知识点 变量.数组. 运算符:基本运算符.关系运算符.逻辑运算符- 程序流程 ...

  3. java网络编程案例9-1模拟微信聊天

    题目:如今微信已经成为人们 生活中必不可少的一款社交软件.本案例要求编写一个程序模拟微信聊天功能,在实现本案例时,要求使用多线程与UDP通信完成消息的发送和接收 代码如下: SendTask类: pa ...

  4. 计算机毕业设计中Java编程案例之学生管理系统

    标准学生类: package student; //学生类 public class Student {//编写成员变量 //学号 private String id; //姓名 private St ...

  5. Java编程案例之学生管理系统

    标准学生类: package student; //学生类 public class Student { //编写成员变量 //学号 private String id; //姓名 private S ...

  6. java编程练习:模拟双色球系统

    投注号码由6个红色球号码和1个蓝色球号码组成.红色球号码从1-33中选择(不重复),蓝色球号码从1-16中选择(可与红色球号码重复) 中奖条件与奖金对照表: 思路:1.随机生成一组中奖号码 2.用户输 ...

  7. Java面向对象编程-模拟购物车模块

    总体架构 需求: 模拟购物车模块功能,需要实现添加商品到购物车中去,同是需要提供修改商品的购买数量,结算商品价格等功能 分析: ① 购物车中的每个商品都是一个对象,需要定义一个商品类 ② 购物车本身也 ...

  8. java基础案例-购物车模拟

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.需求 二.分析 三.代码 四.效果图 五.总结 一.需求 1.模拟购物车模块的功能,需要实现添加商品到购物车中去,同时需 ...

  9. Java网络编程学习——简单模拟在线聊天

    Java网络编程学习--简单模拟在线聊天 学了java网络,也是该做个小案例来巩固一下了. 本次案例将使用UDP和多线程模拟即时聊天,简单练练手. 1.前提知识 需要知道简单的IO流操作,以及简单的U ...

最新文章

  1. java中br.readline_Java:java中BufferedReader的read()及readLine()方法的使用心得
  2. LeetCode 2131. 连接两字母单词得到的最长回文串
  3. 高能!这些段子已刷爆大学老师朋友圈
  4. ToString yyyy-MM-dd ,MM 小写的故事。
  5. Bin Packing 装箱问题——NPH问题的暴力枚举 状压DP
  6. 「福利」Java Swing 编写的可视化算法工程,包含树、图和排序
  7. C++使用opencv判断一个点是否在多边形之内
  8. 武汉理工大学计算机学院宿舍,武汉理工大学专业所属校区及新生住宿分布情况(v2.0)...
  9. EXCEL-数据透视表、日数据整理成月数据
  10. 电脑远程调试手机浏览器
  11. springboot整合微信支付
  12. ol3 结构图 仅限ol.source.Source
  13. 快手挂小黄车和快手小店有什么区别?如何开通快手小店?
  14. java 求两个list 集合的交集,重复的元素
  15. 如何使用 Docker Buildx Bake 创建复杂的镜像构建管道
  16. 若查找课程表中课程名称是计算机或英语,在课程表中要查找课程名称中包含计算机的课程,对应课程名称字段的正确条件表达式是______。...
  17. 智能车竞赛技术报告 | 智能视觉组 - 哈尔滨工程大学 - 济海追风0队
  18. 再获认可|九州云获评2022分布式云与云边协同创新实践案例
  19. EVEREST Ultimate Edition 5.50 正式版 序列号
  20. kali linux aria2c 开机启动

热门文章

  1. 全国计算机等级考试.pdf,全国计算机等级考试真题.pdf
  2. 深度学习网络中backbone是什么意思
  3. c++之gbk和utf8编码转换
  4. Android入门文档
  5. Wireshark怎么抓包、wireshark抓包详细图文教程 [最新绿色版本version 2.6.1 ]
  6. 年终盘点|知数堂2017年度好文
  7. 水の三角(超级卡特兰数/大施罗德数)
  8. ✨英语学习|如何高效做英语阅读笔记
  9. 30天简单了解Java-Day5深入类和对象
  10. 手把手教你用vue+JavaScript+openlayers+iview制作实时天气预报图