qq_慕仰7339724
。。。
我是bug者
当然!
我爱孙佳怡
第一个
可以改成这样:
public boolean removeGoodsFromCart(Items item) {
return goods.remove(item)!=null;
}
当删除成功时,返回true,删除的键为空时,返回false
第二个问题:
return sum 也可以,因为成员属性设置了totalPrice,所以总价方法中不仅计算总价,最后还调用setTotalPrice()方法,返回this.getTotalPrice()是为了符合规范
龚铭
public boolean addGoods(items item,int number) {
if(goods.containsKey(item)) {
goods.put(item,goods.get(item)+number);
}else {
goods.put(item, number);
}
慕少7506046
我也是这样,请问你解决了吗?
慕神2561941
goods.get(i)得到是键所对应的值--数量(number),而上面在定义了map范式指定number为integer
大个和小个
在JSP的章节,https://img.mukewang.com/down/5514c43b0001d59800000000.rar
慕粉1473922411
while 当判断条件为true时会执行括号内内容。it.hasNext()方法表示是否还有下一条记录,是返回true,否false。
qq_物极必反_1
我已经解决了,Items中的构造方法忘了初始化。
_余生
慕妹7418156
应该是口误吧,java集合的类型不应该是:“序列、set、和map”么。
慕婉清6441602
it是返回的结果集,这句话是给他遍历,显示结果集里的值
lixiangbetter
js调试最好在浏览器中,使用F12查看控制台,看一下报的是什么错误。
qq_不囧_0
这是由于总价格进行了包装,访问时,需要用包装后的访问方法,否则直接用sum返回,一是,不规范,二是:不安全
慕粉9614231
比如map里存了两个键值对{a:1;b:2} , 那么keyset()就是获得键的集合 即{a;b}
Mr___lu
将cart.jsp中的以下代码
<!--循环的结束-->
</table>
<div class="total"><span id="total">总计:<%=cart.getTotalPrice() %>¥</span></div>
<%
}
%>
<div class="button"><input type="submit" value="" /></div>
</form>
修改为:
<!--循环的结束-->
</table>
<div class="total"><span id="total">总计:<%=cart.getTotalPrice() %>¥</span></div>
<div class="button"><input type="submit" value="" /></div>
<%
}else{
out.print("<h1>购物车是空的!</h1>");
}
%>
就可以了
AlbertRui
数据不是从数据库获得的,没有持久化,所以每次打开都是新的
zuky
myeclipse10.0
链接:http://pan.baidu.com/s/1boIGnE3 密码:zhtc
0110号建筑师
你说的这个问题确实是存在的,跟天猫、京东有些许不一样,一般到了购物车还是可以增加和删除的,你可以在购物车页面添加增加和减少商品的数量,然后把新值覆盖上去的
树皮
get(i)就是商品的数量啊,i是对象,key值,Map里面get(i)就得到了value,在这里面就是商品的数量
单行道上
这样可以通过返回值来判断是否添加/删除成功
二道桥十三太保
iterator是Collection接口的常用方法。
功能:返回在此Collection的元素上进行迭代的迭代器。用于遍历集合中的对象。
用法:配合while使用。说白了我在集合中用过for循环遍历方法代替过iterator的方法。效果一样。但在集合里面和Map中的话还是iterator比较方便。
最晴天1
webapp。需要用到servlet,js,jsp和HTML,CSS,tomcat
weiiNice
蹦极不绑绳
我看到你在插入数据库时写的是utf8!!不应该是utf-8吗?进一步期待你解决问题
慕粉夜夜夜夜
i是键,goods.get(i)获得的就是数量
心跳7
package entity;
//商品类
public class Items {
private int id; // 商品编号
private String name; // 商品名称
private String city; // 产地
private int price; // 价格
private int number; // 库存
private String picture; // 商品图片
//保留此不带参数的构造方法
public Items()
{
}
public Items(int id,String name,String city,int price,int number,String picture)
{
this.id = id;
this.name = name;
this.city = city;
this.picture = picture;
this.price = price;
this.number = number;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public String getPicture() {
return picture;
}
public void setPicture(String picture) {
this.picture = picture;
}
@Override
public int hashCode() {
// TODO Auto-generated method stub
return this.getId()+this.getName().hashCode();
}
@Override
public boolean equals(Object obj) {
// TODO Auto-generated method stub
if(this==obj)
{
return true;
}
if(obj instanceof Items)
{
Items i = (Items)obj;
if(this.getId()==i.getId()&&this.getName().equals(i.getName()))
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
public String toString()
{
return "商品编号:"+this.getId()+",商品名称:"+this.getName();
}
}
慕粉4039862
这个可以自己写的哇,慢慢敲吧
慕后端9069192
别忘记了老师之前有做过这个网站的案例...那时酒创建了Items类..其实就是商品类....因此hashmap集合里的就是商品类和一个数量
慕粉3443357
你这类的名字不一致,我们打的是Items!详情参考Java遇见Html-Jsp篇的最后一章!商品实体类设计,必须先做完这个才可以呦!希望采纳!