正在回答
你好!批复文件是老师提交错了,非常抱歉!由于不能重新提交已发送的作业文档,所以我们把你的作业批复文档的内容写到下面了,你可以看看,如果有问题可以继续提问。祝学习愉快!
作业批复及修改意见如下:
1.关于同学在作业中提出的问题,Scanner的实例还是要在while循环外创建,避免造成资源浪费。同学可以在catch语句中再接收一遍用户从键盘录入的非数字,这样就解决了死循环,修订之后的代码如下图。

2.在主菜单中,当用户输入非法数字时,显示效果如下图:

原因是你在主菜单的逻辑中对else的处理不当,导致一直循环,你可以用num在接收一下用户录入的数字,修订之后的代码如下图。

3.当输入错误的商品id是,会显示下图效果,所以在购物车中添加商品的方法写的不对。

在ShoppingCart类中添加商品的方法里,逻辑是这样的,当用户输入id之后进行比对,有则将flag设置为true,并跳出循环。在循环外,根据flag的值,如果为true,则重新给商品数量赋值,否则给出错误提示。在添加和修改的方法中,同学切记一定要先循环查找,根据是否找到的结果来进行添加,修改商品的方法也添加商品的方法是一样的。 修订之后的代码如下图:

4.在修改商品的方法中,同学也要根据添加商品方法的逻辑去修改。先判断goodId是否存在,根据判断的结果,再进行后续的逻辑操作。修订之后的代码如下图:

5.当我添加完数据之后,结算信息显示错误,如下图所示:

错误原因出在下图标记处,你在迭代器中多了一个next()方法,并且在结算时,如果没有商品,不显示结算信息:

修订之后的代码如下图:

- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星