为什么我没有导入商品信息,程序还可以继续运行?
Map<String,GoodsInCart> shoppingCart1=new HashMap<String,GoodsInCart>();
Scanner scanner=new Scanner(System.in);
/**
* 通过商品编号找到对应的要购买的商品
* @param gm
*/
public void addGoodsToCart(GoodsManage gm){//添加商品到购物车
Set<Goods> set=gm.getGoods();//將所有商品存入集合中
String str=null;
//如果未导入商品列表则提示导入
if(gm.getGoods().size()==0){
System.out.println("请先导入商品列表!");
}else{
gm.displayAllGoods();//已导入则列出商品列表
for(Goods o:set){
System.out.println("请输入要购买的商品的编号:");
str=scanner.next();
if(o.getGoodsID().equals(str)){
System.out.println("请输入该购买的数量:");
int n=scanner.nextInt();
GoodsInCart gc=new GoodsInCart(o,n);
shoppingCart1.put(str, gc);
}else{
System.out.println("没找到该商品!");
continue;
}
}
}
}
Set<Goods> set=new HashSet<Goods>();
//商品信息导入方法
public void importGoods(){
Goods a=new Goods("S0001","洗衣机",1500.00,"洗衣机可洗衣服");
Goods b=new Goods("S0002","电脑",12000.00,"电脑可以上网");
Goods c=new Goods("S0003","空调",4000.00,"开空调很凉快");
Goods d=new Goods("S0004","冰箱",8000.00,"冰箱可以存储食物");
set.add(a);
set.add(b);
set.add(c);
set.add(d);
System.out.println("商品信息导入成功!");
}
//显示商品信息方法
public void displayAllGoods(){
Iterator<Goods> it=set.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
package com.imooc.goods;
import java.util.HashSet;
public class Test {
public static void main(String[] args) {
//实例化4个商品对象
Goods a=new Goods("S0001","洗衣机",1500.00,"洗衣机可洗衣服");
Goods b=new Goods("S0002","电脑",12000.00,"电脑可以上网");
Goods c=new Goods("S0003","空调",4000.00,"开空调很凉快");
Goods d=new Goods("S0004","冰箱",8000.00,"冰箱可以存储食物");
Set<Goods> goods=new HashSet<Goods>();
goods.add(a);
goods.add(b);
goods.add(c);
goods.add(d);
GoodsManage gm=new GoodsManage(goods);
ShoppingCart sc=new ShoppingCart();
Scanner s=new Scanner(System.in);
boolean flag=false;
int n=0;
while(flag==false){
System.out.println("***********************************");
System.out.println(" 主菜单 ");
System.out.println(" 1-商品管理 ");
System.out.println(" 2-购物车 ");
System.out.println(" 0-退出 ");
System.out.println("***********************************");
n=s.nextInt();
flag=true;
switch(n){
case 1:
while(true){
System.out.println("***********************************");
System.out.println(" 商品管理 ");
System.out.println(" 1-商品信息导入 ");
System.out.println(" 2-显示所有商品信息 ");
System.out.println(" 9-返回上一级菜单 ");
System.out.println("***********************************");
n=s.nextInt();
switch(n){
case 1:gm.importGoods();
break;
case 2:gm.displayAllGoods();
break;
}
if(n==9){
flag=false;
break;
}
}
break;
case 2:while(flag==true){
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(" 9-返回上一级菜单 ");
System.out.println("***********************************");
n=s.nextInt();
switch(n){
case 1:sc.addGoodsToCart(gm);
break;
case 2:sc.updateNumInCart();
break;
case 3:sc.displayAllInCart();
break;
case 4:sc.settleAccount();
break;
}
if(n==9){
flag=false;
break;
}
}
break;
case 0:
System.out.println("退出!");
break;
}
}
}
}
17
收起
正在回答 回答被采纳积分+1
1回答
Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星