为了账号安全,请及时绑定邮箱和手机立即绑定

红框内的这行代码为什么报错啊?价格乘以数量不对吗?

/ 猿问

红框内的这行代码为什么报错啊?价格乘以数量不对吗?

枫葉 2018-10-17 00:30:51

https://img3.mukewang.com/5bc612180001d72609450708.jpg

查看完整描述

1 回答

已采纳
?
慕村6333387

在判断hasNext里面不能调用多次next方法,每调用一次next()方法,迭代器都会指向下一个元素,当前一个next方法取到的是最后一个元素时,后面的next方法取不到元素,所以会报异常。
        可以先声明一个Hm.再用next方法赋值。

查看完整回答
反对 回复 2018-10-17
  • 枫葉
    枫葉
    里面不能出现两次以上的next(),那这个数量Num跟价格Price的求和该怎么写?
  • 街边七号
    街边七号
    emmm 你的迭代器存的是Hm对象啊 你可以hm = it.next 然后去调用 hm.getName hm.getPrice啊 。。。自己有思考吗
  • 枫葉
    枫葉
    Set<Entry<String, Hm>> entrySet= map.entrySet(); for (Entry<String, Hm> entry : entrySet) { System.out.print(entry.getKey()+"-"); amount=amount+ (entry.getValue().getPrice())*(entry.getValue().getNum()); } System.out.println(amount); 清楚了

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信