急求!!在商品添加那层添加了商品,为什么到了购物车层就找不到商品了呢?
package com.imooc;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
/**
* 测试类
* @author ZYD
*/
public class TestDemo {
boolean flag = true;
Scanner scan = new Scanner(System.in);
GoodsManage gm = new GoodsManage();
ShoppingCart shopc = new ShoppingCart();
Map<String,GoodsInCart> shoppingCart =
new HashMap<String,GoodsInCart>();
Goods[] goods = {new Goods("goods001","水杯",56.0,"不锈钢水杯"),
new Goods("goods002","饮水机",299.0,"带净化功能的饮水机"),
new Goods("goods003","笔记本电脑",4999.0,"15寸笔记本电脑"),
new Goods("goods004","手机",2300.0,"安卓手机")};
Set<Goods> goodsSet = new HashSet<Goods>();
public static void main(String[] args) {
// TODO Auto-generated method stub
TestDemo td = new TestDemo();
td.manage();
}
/**
* 菜单管理方法
*/
public void manage() {
while(flag) {
System.out.println("************************"+'\n'+
" "+"**主菜单**"+'\n'+
" "+"1--商品管理"+'\n'+
" "+"2--购物车"+'\n'+
" "+"0--退出"+'\n'+
"************************");
TestDemo td = new TestDemo();
System.out.println("请输入对应的数字进行操作:");
//定义k来记录主菜单管理指令
int k = scan.nextInt();
switch(k) {
case 1:
td.goodsManage();
break;
case 2:
td.goodsCartManage();
break;
case 0:
flag = false;
}
}
}
/**
* 商品管理方法
*/
public void goodsManage() {
for(int i=0;i<goods.length;i++) {
goodsSet.add(goods[i]);
}
while(flag) {
System.out.println("*******************************"+'\n'+
" "+"**商品管理**"+'\n'+
" "+"1--商品信息导入"+'\n'+
" "+"2--显示所有商品"+'\n'+
" "+"9--返回上一级菜单"+'\n'+
"********************************");
System.out.println("请输入对应的数字进行商品管理:");
//定义n来记录商品管理层的指令
int l = 0;
l= scan.nextInt();
switch(l) {
case 1:
gm.setGoodsSet(goodsSet);
gm.importGoods();
break;
case 2:
gm.displayAllGoods();
break;
case 9:
flag = false;
}continue;
}
}
/**
* 购物车管理方法
*/
public void goodsCartManage() {
while(flag) {
// if(gm.getGoodsSet().size()<=0) {
// System.out.println("目前暂无商品,请先导入商品");
// flag = false;
// break;
// }
System.out.println("*******************************"+'\n'+
" "+"**购物车管理**"+'\n'+
" "+"1--添加商品到购物车"+'\n'+
" "+"2--修改购物车中的商品数量"+'\n'+
" "+"3--显示购物车中所有商品信息"+'\n'+
" "+"4--结算"+'\n'+
" "+"8--返回上一级菜单"+'\n'+
"********************************");
System.out.println("请输入对应的数字对购物车进行管理:");
//定义n作为购物车管理的指令
int n = 0;
n = scan.nextInt();
switch(n) {
case 1:
gm.displayAllGoods();
System.out.println("请输入要添加的商品的编号:");
String id = scan.next();
System.out.println("请输入要添加的商品的数量:");
int num = scan.nextInt();
for(Goods goods:goodsSet) {
if(goods.getGoodsId().equals(id)) {
GoodsInCart gi = new GoodsInCart(goods,num);
shoppingCart.put(id,gi);
ShoppingCart sp = new ShoppingCart(shoppingCart);
}
}
break;
case 2:
break;
case 3:
shopc.displayAllInCart();
break;
case 4:
break;
case 9:
flag = false;
}continue;
}
}
}
************************
**主菜单**
1--商品管理
2--购物车
0--退出
************************
请输入对应的数字进行操作:
1
*******************************
**商品管理**
1--商品信息导入
2--显示所有商品
9--返回上一级菜单
********************************
请输入对应的数字进行商品管理:
1
导入成功
*******************************
**商品管理**
1--商品信息导入
2--显示所有商品
9--返回上一级菜单
********************************
请输入对应的数字进行商品管理:
2
所有商品的信息为:
商品信息 [编号: goods002, 名称: 饮水机, 价格: 299.0, 描述: 带净化功能的饮水机]
商品信息 [编号: goods004, 名称: 手机, 价格: 2300.0, 描述: 安卓手机]
商品信息 [编号: goods003, 名称: 笔记本电脑, 价格: 4999.0, 描述: 15寸笔记本电脑]
商品信息 [编号: goods001, 名称: 水杯, 价格: 56.0, 描述: 不锈钢水杯]
*******************************
**商品管理**
1--商品信息导入
2--显示所有商品
9--返回上一级菜单
********************************
请输入对应的数字进行商品管理:
3
*******************************
**商品管理**
1--商品信息导入
2--显示所有商品
9--返回上一级菜单
********************************
请输入对应的数字进行商品管理:
9
************************
**主菜单**
1--商品管理
2--购物车
0--退出
************************
请输入对应的数字进行操作:
2
*******************************
**购物车管理**
1--添加商品到购物车
2--修改购物车中的商品数量
3--显示购物车中所有商品信息
4--结算
8--返回上一级菜单
********************************
请输入对应的数字对购物车进行管理:
1
所有商品的信息为:
请输入要添加的商品的编号:
正在回答
导入商品信息的方法importGoods()中只有一句打印输出“导入成功”的语句,导入商品的代码在哪里呢?建议你再好好检查一下~
package com.imooc;
import java.util.HashSet;
import java.util.Set;
/**
* 商品管理类
* @author ZYD
*/
public class GoodsManage {
/**
* 存放商品的容器
*/
private Set<Goods> goodsSet;
public GoodsManage() {
this.goodsSet = new HashSet<Goods>();
}
/**
* 导入商品信息的方法
*/
public void importGoods() {
System.out.println("导入成功");
}
/**
* 显示所有商品信息的方法
*/
public void displayAllGoods() {
System.out.println("所有商品的信息为:");
for (Goods goods : goodsSet) {
System.out.println(goods.toString());
}
}
public Set<Goods> getGoodsSet() {
return goodsSet;
}
public void setGoodsSet(Set<Goods> goodsSet) {
this.goodsSet = goodsSet;
}
}
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星