关于作业代码的错误

关于作业代码的错误

http://img1.sycdn.imooc.com//climg/5c45cb7d0001edc511590396.jpg

addtoCart这个方法这里为什么报错?求指教

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,Java中局部变量要求赋初值,这是规定。另外在同学的程序中,如果不满足if条件,不执行if中的语句,temp1将不会初始化。这里建议同学在循环外定义一个boolean值flag并赋值为false,在循环中的if语句里将flag 赋值为true,然后在循环外判断flag,如果为true,再输入数量并添加到购物车。

祝:学习愉快~

好帮手慕阿满 2019-01-22 17:53:26

同学你好,变量在使用前必须被定义以及初始化。这里的temp2在之前定义,temp2 = new GoodsInCart(temp1,num);是temp2的初始化,这里temp2不会报错。

另外temp1,new GoodsInCart(temp1,num);循环外的temp1只是定义,没有初始化。temp1是在for循环中完成的赋值操作,在循环外并没有完成初始化操作,当不满足if条件时,这里的temp1并没有初始化。所以需要定义Goods temp1 = null;

祝:学习愉快~

  • 我在循环中new的操作不算初始化?只有循环外算?还有我想知道这里temp1=goods(goods好像是个临时的),会怎么样,谢谢您!
    2019-01-22 17:58:41
好帮手慕阿满 2019-01-22 11:48:22

这个应该是temp1没有初始化,所以报错。建议同学在定义Goods temp1时使其等于null,如:

Goods temp1 = null;

如果没有解决问题,建议同学点击左边红色叉叉,查看报错信息,方便我们知道具体错误,可以给出具体的解答。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师