publicstaticvoidmain(String[] args){//定义商品容量为20;Goods[] goods =newGoods[20];Scanner sc =newScanner(System.in);boolean flag =true;while(flag){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("按其他按键退出操作:");int select = sc.nextInt();switch(select){case1://System.out.println("1、添加商品:");addGoods(goods);break;case2://System.out.println("2、查看商品:");checkGoods(goods);break;case3://System.out.println("3、修改商品:");//把商品的购买数量取出修改reviseGoods(goods);break;case4:// System.out.println("4、删除商品:");deleteGoods(goods);break;case5://System.out.println("5、结算商品:");checkGoods(goods);accountGoods(goods);break;default:
flag =false;System.out.println("退出购物车");break;}}}
添加商品
//添加商品publicstaticvoidaddGoods(Goods[] goods){Goods good =newGoods();Scanner sc =newScanner(System.in);System.out.println("请输入商品的名称:");String name = sc.nextLine();System.out.println("请输入商品ID:");int id = sc.nextInt();System.out.println("请输入商品的价格:");double price = sc.nextDouble();System.out.println("请输入商品的数量:");int num = sc.nextInt();
good.setId(id);
good.setName(name);
good.setPrice(price);
good.setNum(num);boolean flag =true;for(int i =0; i < goods.length; i++){//如果购物车已经有商品了,不能把原来的商品挤掉,if(goods[i]==null){
goods[i]= good;
flag =false;break;}}if(flag){System.out.println("购物车已经满了;");}System.out.println(Arrays.toString(goods));}
判断购物车是否为空
publicstaticbooleangoodsIsNull(Goods[] goods){boolean flag =true;for(int i =0; i < goods.length; i++){if(goods[i]!=null){
flag =false;}}// if(flag){// System.out.println("购物车是空的,请先添加商品");// }return flag;}
查看商品
//查看商品publicstaticvoidcheckGoods(Goods[] goods){if(goodsIsNull(goods)){System.out.println("购物车是空的,请先添加商品");return;}System.out.println("id"+"\t\t\t"+"商品名"+"\t\t\t"+"价格"+"\t\t\t"+"数量"+"\t\t\t"+"总计");for(int i =0; i < goods.length; i++){if(goods[i]!=null){System.out.print(goods[i].getId()+"\t\t\t");System.out.print(goods[i].getName()+"\t\t\t");System.out.print(goods[i].getPrice()+"\t\t\t");System.out.print(goods[i].getNum()+"\t\t\t");System.out.println(goods[i].getNum()*goods[i].getPrice());}}}
修改商品
//修改商品privatestaticvoidreviseGoods(Goods[] goods){//根据商品的ID来查找要修改的商品if(goodsIsNull(goods)){System.out.println("购物车没有商品");return;}Scanner scanner =newScanner(System.in);System.out.println("你要修改商品的ID:");int id = scanner.nextInt();boolean flag =true;for(int i =0; i < goods.length; i++){Goods gs = goods[i];if(gs !=null){if(id == gs.getId()){System.out.println("新的数量:");int num = scanner.nextInt();
flag =false;
gs.setNum(num);System.out.println("id:"+ id +"的商品,从购物车中更新了购买数量!");break;}}}if(flag){System.out.println("商品不存在,");return;}}
删除商品
//删除商品//根据商品ID来进行删除privatestaticvoiddeleteGoods(Goods[] goods){if(goodsIsNull(goods)){System.out.println("购物车没有商品");return;}System.out.println("输入你要删除商品的ID:");Scanner scanner =newScanner(System.in);int id = scanner.nextInt();boolean flag =true;for(int i =0; i < goods.length; i++){Goods gs = goods[i];// 我知道为什么不能使用goods[i].getId()//如果商品没有满,后面的商品都为null ,不能对null调用方法// int goodId = goods[i].getId();if(gs !=null){if(id == gs.getId()){
flag =false;
goods[i]=null;System.out.println("商品为"+id+"已从购物车移除");break;}}}if(flag){System.out.println("你要删除商品不存在");}}
清空购物车(结算)
// 把购物车清空privatestaticvoidaccountGoods(Goods[] goods){if(!goodsIsNull(goods)){double price =0;for(int i =0; i < goods.length; i++){Goods gs = goods[i];if(gs !=null){
price += gs.getPrice()*gs.getNum();//结算完就把购物车清空
goods[i]=null;}}System.out.println("总共花了"+ price+"元");return;}return;}