java中购物车代码 购物车java项目怎么做

您所在的位置:网站首页 java项目架构图 java中购物车代码 购物车java项目怎么做

java中购物车代码 购物车java项目怎么做

2023-05-24 03:15| 来源: 网络整理| 查看: 265

Java大作业:购物车1、小组成员以及任务分配2、前期调查(以京东商城界面为例)2.1 主界面2.2 商品界面2.3购物车界面3、系统描述4、系统功能结构图和主要功能流程图功能结构图5、类的设计和UML类图5.1类的设计5.1.1商品5.1.2菜单5.1.3清单5.1.4清单5.2UML类图6、关键代码6.1主界面6.2购物车7、总结

1、小组成员以及任务分配

班级

姓名

任务

网络2014

兰苏瑀

负责编写代码相关的工作:编码规范,面向对象设计,功能设计

网络2014

刘宇恒

负责编写博客相关的工作:前期调查,博客制作

2、前期调查(以京东商城界面为例)2.1 主界面

java中购物车代码 购物车java项目怎么做_UML

2.2 商品界面

java中购物车代码 购物车java项目怎么做_System_02

2.3购物车界面

java中购物车代码 购物车java项目怎么做_java_03

由观察京东商城可知:主界面要有分类,使购买者更有目的性。商品展示时主要信息含商品的名称描述和单价。购物车显示的信息有:商品名称和单价,每种商品的预购数量和金额小计,所有商品的总金额。购物车的功能操作按键有:增加或者减少某种商品的预购数量,删除某种商品,清空购物车。

3、系统描述

用户进入到商城的主界面,可以看到搜索商品功能的框,以及商品的分类选项。然后点击商品,可以看到商品的名称、单价,可以选择将商品加入购物车。进入购物车,能看到商品的名称介绍、数量、某种商品的小计金额,可以进行增加或减少某种商品的数量、删除某种商品的操作,还可以直接清空购物车。

4、系统功能结构图和主要功能流程图功能结构图

java中购物车代码 购物车java项目怎么做_UML_04

5、类的设计和UML类图5.1类的设计5.1.1商品

java中购物车代码 购物车java项目怎么做_UML_05

5.1.2菜单

java中购物车代码 购物车java项目怎么做_System_06

5.1.3清单

java中购物车代码 购物车java项目怎么做_System_07

5.1.4清单

java中购物车代码 购物车java项目怎么做_java_08

5.2UML类图

java中购物车代码 购物车java项目怎么做_java_09

6、关键代码6.1主界面package shoppingcart; import java.util.LinkedHashMap; import java.util.Map; import java.util.Scanner; public class Menu{ private static Map map = new LinkedHashMap(); static{//类别// 货物编号// 货物名称// 单价//属性 Commodity good1 = new Commodity(1, "苹果", 3.0,"水果"); Commodity good2 = new Commodity(2, "芒果", 7.0,"水果"); map.put(good1.getId(), good1); map.put(good2.getId(), good2); } public static void showMenu(){ System.out.println(" ============================ "); System.out.println(" 【主界面】 "); System.out.println(" "); System.out.println(" "); System.out.println(" [1]查看购物车 "); System.out.println(" [2]添加预购商品 "); System.out.println(" [3]删除一种商品 "); System.out.println(" [4]减少预购商品 "); System.out.println(" [5]清空购物车 "); System.out.println(" [0]退出 "); } public static void inputOption(ShoppingCart cart) { System.out.println("请输入你要添加的货物编号及个数:"); Scanner sc = new Scanner(System.in); if (sc.hasNextLine()) { String s = sc.nextLine(); String[] strings = s.split(" "); int id = Integer.parseInt(strings[0]); int count = Integer.parseInt(strings[1]); Commodity p = map.get(id); cart.addGood(p, count); } System.out.println("——————————————————————【用户总预购货物】——————————————————————"); cart.showAll(); System.out.println("货物总价钱为:" + cart.totalAllMoney()+"¥"); System.out.println("—————————————————————————————————————————————————————"); } public static void deleteOption(ShoppingCart cart) { Scanner sc = new Scanner(System.in); System.out.println("请输入你想要删除的货物编号:"); if (sc.hasNextLine()) { String s = sc.nextLine(); int id = Integer.parseInt(s); boolean flag = cart.deleteGood(id); if (flag) { System.out.println("货物编号:" + id + "的货物删除成功!"); } else { System.out.println("货物编号" + id + "删除失败,购物车没有该货物!!!"); } } System.out.println("——————————————————————【用户总预购货物】——————————————————————"); cart.showAll(); System.out.println("货物总价钱为:" + cart.totalAllMoney()+"¥"); System.out.println("—————————————————————————————————————————————————————"); } public static void reduceOption(ShoppingCart cart) { Scanner sc = new Scanner(System.in); System.out.println("请输入你想要减少的货物编号及个数:"); if (sc.hasNextLine()) { String s = sc.nextLine(); String[] strings = s.split(" "); int id = Integer.parseInt(strings[0]); int count = Integer.parseInt(strings[1]); boolean flag = cart.reduceGood(id,count); if (flag) { System.out.println("货物编号:" + id + "的货物减少"+count+"个!"); } else { System.out.println("减少失败!"); } } System.out.println("——————————————————————【用户总预购货物】——————————————————————"); cart.showAll(); System.out.println("货物总价钱为:" + cart.totalAllMoney()+"¥"); System.out.println("—————————————————————————————————————————————————————"); } public static void clearOption(ShoppingCart cart) { cart.clearCart(); System.out.println("——————————————————————【清空购物车】————————————————————————"); cart.showAll(); System.out.println("预购货物总价钱为:" + cart.totalAllMoney()+"¥"); System.out.println("—————————————————————————————————————————————————————"); } }6.2购物车package shoppingcart; import java.util.Collection; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; public class ShoppingCart { public static final String add = null; private Map map = new LinkedHashMap(); // 集合 public void addGood(Commodity p, int count) {// 添加货物 int goodID = p.getId(); if (map.containsKey(goodID)) {// 如果购物车已经存在同样的货物,则的数量增加 GoodItem goodItem = map.get(goodID); goodItem.setCount(goodItem.getCount() + count); } else { map.put(goodID, new GoodItem(p, count));// 如果没有,则新建一个商品信息 } } public void showAll() {// 查看购物车所有信息 Collection GoodItems = map.values(); Iterator iterator = GoodItems.iterator(); while (iterator.hasNext()) { GoodItem GoodItem = iterator.next(); Commodity Good = GoodItem.getGood(); System.out.println("货物编号" + ":" + Good.getId() + ", 货物名称:" + Good.getName() + ", 单价:" + Good.getPrice() + "¥, 数量:" + GoodItem.getCount() + ", 小计:" + GoodItem.totalMoney()+"¥"); } } public boolean deleteGood(int goodID) {// 删除货物 if (map.containsKey(goodID)) { map.remove(goodID); return true; } return false; } public boolean reduceGood(int goodId,int count) {// 减少货物 GoodItem goodItem = map.get(goodId); if (map.containsKey(goodId)) { if(count>goodItem.getCount()) { System.out.println("不能把货物数量减少成负数哦"); return false; }else if (count < goodItem.getCount()) { goodItem.setCount(goodItem.getCount()-count);//数量设置成原数量-count return true; } else if (count == goodItem.getCount()) {// 删除该商品,数量减到0 deleteGood(goodId); return true; } } else System.out.println("购物车中没有该货物"); return false; } public void clearCart() {// 清空购物车 map.clear(); } public double totalAllMoney() {// 货物总价格 double total = 0; Collection GoodItems = map.values(); Iterator iterator = GoodItems.iterator(); while (iterator.hasNext()) { GoodItem GoodItem = iterator.next(); double money = GoodItem.totalMoney(); total += money; } return total; } public Map getMap() { return map; } public void setMap(Map map) { this.map = map; } }7、总结这是第一次Java面向对象设计的大作业,购物车。我们小组进行了前期调查、类与对象的设计、代码结构的设计等等工作。由于较为生疏,对作业要求认真研究后,编写代码时我们会注意变量名,函数名,类名,方法名的定义,也就是重视代码的规范性。做好代码命名规范,使得代码可读性更强,便于读者阅读。在编写代码的过程中,我们不可避免的遇到各类问题,比如编写好的代码意外出现错误、对类中该包含的属性和方法不清楚等。我们通过向高手请教、百度借鉴相似的项目、一步一步尝试新思路等等方法解决问题。本次的作业在多次修改以后依旧存在较多问题,我们将会在往后继续更新。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3