J2ee课设-围棋网站-课程产品-购物车2

package mypack;
import java.util.*;
public class ShoppingCart {
    HashMap<String,ShoppingCartItem>items=null;
    int numberOfItems=0;
    public ShoppingCart()
    {
        items=new HashMap<String,ShoppingCartItem>();
    }
    public synchronized void add(String name,Object ob)
    {
        if(items.containsKey(name))
        {
            ShoppingCartItem scitem=items.get(name);
            scitem.incrementQuantity();
        }
        else
        {
            ShoppingCartItem newItem=new ShoppingCartItem(ob);
            items.put(name, newItem);
        }
        numberOfItems++;
    }
    public synchronized void remove(String name)
    {
        if(items.containsKey(name))
        {
            ShoppingCartItem scitem=items.get(name);
            scitem.decrementQuantity();
            if(scitem.getQuantity()<=0)
            {
                items.remove(name);
            }
            numberOfItems--;
        }
    }
    public synchronized Collection<ShoppingCartItem>getItems()
    {
        return items.values();
    }
    public synchronized int getNumberOfItems()
    {
        return numberOfItems;
    }
    public synchronized int getTotal()
    {
      double amount=0.0;
      for(ShoppingCartItem item:getItems())
      {
        Object objects =(Object)item.getitem();
        amount+=item.getQuantity()*objects.getprice();
    }
    return roundOff(amount);
    }
    private int roundOff(double x)
    {
        long val=Math.round(x*100);
        return (int)(val/100.0);
    }
    public synchronized void clear()
    {
        items.clear();
        numberOfItems=0;
    }
}

昨天剩了一个javabean没写完,这里是一些写代码时的查漏补缺

  • synchronized 是 Java 中的关键字,用于实现线程同步。当一个方法或代码块被 synchronized 关键字修饰时,它将具有互斥性,即同一时间只能有一个线程访问该方法或代码块。这可以避免多个线程同时修改共享数据而引发的并发访问问题。在多线程环境下,如果多个线程同时访问共享资源,并且其中至少一个线程会修改该资源,就可能导致数据不一致或产生意想不到的结果。通过使用 synchronized 关键字,可以确保同一时间只有一个线程能够访问被 synchronized 修饰的代码块或方法,从而避免数据竞争和并发访问问题。
  • containsKey 是 Java 中 Map 接口的一个方法,用于检查一个映射中是否包含指定的键。它接受一个参数,即要检查的键对象,返回一个布尔值,表示映射中是否存在该键。

接下来是用jsp写界面

记一下一些查漏补缺

  • 在 JSP 中,<% %> 是用于插入 Java 代码块的标记,而不是用于注释的标记。JSP 中的注释标记是 <%-- --%>,它可以用于在 JSP 页面中注释掉一段代码或文本,这部分内容将被编译器忽略,不会被发送到客户端。

遇到了一些错误 明天排查吧

错误的代码就不发了,先贴个图

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值