题目说明:
如图所示:我们在逛淘宝的时候,会把喜欢的商品加入到购物车中,当我们第一次加入到购物车的时候,购物车中该商品的数量会显示为1,如果我们添加的是同一个店铺的同一件商品,购物车中该商品的数量会增加1。但是如果添加的不是同一个店铺的商品会我们则认为不是同一件商品,添加到购物车的时候就会当做新商品添加,单独生成一条商品的记录,数量为1,。请设计程序,完成将商品添加到购物车的需求.
实现方案:
1.我们用Product对象作为key,数量作为value,所以要保证key唯一,我们的Product就要重写hashCode和equals方法
2.当我们往集合中存的时候,要利用containsKey方法判断集合中有没有店铺和商品名称都一样的对象,如果没有,证明购物车中是第一次添加此商品,value为1
3.如果集合中有店铺和商品名称都一样的对象,证明购物车之前已经添加了此商品,我们就调用get方法根据key获取value,让value+1,最后重新存到集合中即可
要求如下:
1.定义一个商品类(Product),包括两个属性:store(店铺名称),name(商品名称),提供对应的构造以及get/set方法,还有重写 hashCode和equals方法
2.定义测试类
2.1.创建Scanner对象
2.2.创建Map集合对象
2.3.循环将商品加入购物车
2.4.在循环中根据输入的店铺名称和商品名称,封装成Product对象
2.5.如果集合中不包含我们添加的同一个店铺同一个商品的话,直接往集合中添加该商品
2.6.否则将该商品对应的值(数量)从集合中获取出来,让其加1
2.7.将加1之后的商品重新添加到集合中
2.8.遍历集合
你最好是先按思路做一下。把遇到的问题贴出来。这样的话也好帮你。
题目看懂了,你的问题,或者你认为的难点在哪里?
你是怎么写的,我想看
求答案