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

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

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

枫葉 2018-10-17 00:30:51
查看完整描述

1 回答

已采纳
?
慕村6333387

TA贡献5条经验 获得超0个赞

在判断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); 清楚了
  • 1 回答
  • 0 关注
  • 1142 浏览

添加回答

举报

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