Java任务:实现商品库和购物车类

来自CloudWiki
跳转至: 导航搜索

任务描述

在网络购书系统中,需要购物车中完成用户购买或删除书籍。本任务创建商品库和购物车类,确保购物车可实现商品的购买和删除,并创建测试程序测试购物车类,完成效果如图6-1所示。 图6-1 测试程序运行结果

Java6-113.png

Java6-17.png

前期准备

goods数据库:

use cloud;
CREATE TABLE `goods` (  

     `id` INT unsigned AUTO_INCREMENT,  
     `name` VARCHAR(100) NOT NULL,
     `price`  FLOAT NOT NULL,
      `num` INT(11) NOT NULL,  
      PRIMARY KEY (`id`),  
     UNIQUE KEY `gname` (`name`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8;  
/nowiki>

数据表结构:

 <nowiki>
MariaDB [cloud]> desc `goods`;
+-------+------------------+------+-----+---------+----------------+
| Field | Type             | Null | Key | Default | Extra          |
+-------+------------------+------+-----+---------+----------------+
| id    | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| name  | varchar(100)     | NO   | UNI | NULL    |                |
| price | float            | NO   |     | NULL    |                |
| num   | int(11)          | NO   |     | NULL    |                |
+-------+------------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

用户和商品

为上一实训写的接口UserDao和GoodsDao向上增添业务逻辑层

业务逻辑类UserService

package service;
import dao.*;
import entity.*;
public class UserService {
	
	/**
	 * 用户集类(用于存储用户
	 */
	private UserDaoMem userset = null;
	
	
	public UserService() {
		userset = new UserDaoMem();
	}
	
	/**
	 * 用于向用户集添加用户
	 */
	public void addUser(User user){
		
		userset.addUser(user);
        System.out.println("用户 "+user.getName() +" 注册成功");        
		System.out.println();
	}	
	
	/**
	 * 查询仓库中的用户
	 */
	public void queryUser( ){
		System.out.println("本店现有如下用户:");
		userset.queryUser();
		System.out.println();
	}
	/**
	 * 登录验证,判断用户名与密码是否一致
	 * 
	 * @param uid 用户输入的登录账号
	 * @param pwd 用户输入的登录密码
	 * @return 登录信息有效:返回用户对象,否则返回NULL
	 */
	public boolean login(String name, String pwd){
		//用户名为空,密码为空
		if(!userset.hasUser(name)){
			System.out.println("用户 "+name+":该用户不存在");
			return false;
		}else if(!userset.verify(name, pwd)){
			System.out.println("用户 "+name+":用户名或密码错误");
			return false;
		}
		
		System.out.println("用户 "+name+" 登陆成功!");
		return true;
	}
}

业务逻辑类GoodsService

package service;
import dao.*;
import entity.*;
/**
 * 这个类处理与商品有关的业务逻辑
 */
public class GoodsService {
	
	
	private GoodsDao dbset ;
	
	
	public GoodsService() {
		dbset =  new GoodsDaoMem();
	}
	
	/**
	   * 向数据仓库中批量添加商品
	   * @param goods 向仓库中添加商品(数组)
	   * @return 值为空
	   */
	public void addGoods(Goods [] goods){
		
		System.out.println("现在开始向库中添加商品 ");
		for(int i=0;i<goods.length;i++){
        	this.addGoods(goods[i]);        	
        }
		System.out.println("所有商品添加完毕 ");
		System.out.println();
		
		
	}
	/**
	   * 向数据仓库中添加商品
	   * @param g 向仓库中添加的商品
	   * @return 值为空
	   */
   public void addGoods(Goods  g){	
	   
	   int num = g.getNumber();
	   if(dbset.hasGoods(g)){//如果该商品已经存在,则追加商品数目
		   dbset.modifyGoods(g, num);
	   }else{//如果该商品不存在,则添加这个商品到数据库
		   dbset.addGoods(g);
	   }
	   System.out.println("    商品 "+g.getName() +" 成功入库");
		
	}
	 
	 /**
	   * 向数据仓库中删除商品
	   * @param g 向仓库中删除的商品
	   * @return 值为空
	   */
	public void delGoods(Goods g){
		System.out.println("现在开始向库中删除商品 ");
		if(dbset.hasGoods(g)){
		     dbset.delGoods(g);
		     System.out.println(g.getName()+" 已删除完毕!");
		}else{
			System.out.println("要删除的商品"+g.getName()+" 不存在");
		}
		System.out.println();		
	}
	/**
	 * 查询仓库中的商品
	 * * @param 值为空
	   * @return 值为空
	 */
	
	public void queryGoods( ){
		
		System.out.println("站点商品明细:");
		System.out.println("编号\t商品名");
		System.out.println("***********************");
		dbset.queryGoods();
		System.out.println();
	}
	/**
	   * 向数据仓库中修改商品的数量
	   * @param g 仓库中待修改的商品
	   * @param n 商品的数量增加或减少的数量
	   * @return 值为空
	   */
	public void modifyGoods(Goods g,int n){
		System.out.println("现在开始修改商品 "+g.getName()+ " 的数量");
		if(!dbset.hasGoods(g)){//如果查不到这个商品
			System.out.println("要删除的商品"+g.getName()+" 不存在");
		}else {//查到这个商品了,可以做进一步操作
			
    		int s = g.getNumber();//该商品现在的库存数		
			if(n>0){//如果n>0 ,库存实际上是增加了		
			    dbset.modifyGoods(g, n);
			    System.out.println(g.getName()+" 的库存增加了 " + n+ " 个");
		    }else if(s +n >=0){//如果n<0,s+n>=0,库存实际上是减小了,但仍是正数
		    	dbset.modifyGoods(g, n);
		    	System.out.println(g.getName()+" 的库存增加了 " + n+ " 个");
		    }else{//对应s +n <0的情况,要减去的数目比实际的库存数还要大,操作错误。
		    	System.out.println(g.getName()+" 待删除数量已超过该商品库存数!");
		    }		
		
		    System.out.println();	
		}
    	
	}
	
	
}

购物车

数据接口类 CartDao

package dao;
import entity.*;
public interface CartDao {
	
	 public void addGoods(Goods g,Integer n);//添加商品
	 
	  public void delGoods(Goods g);//删除商品
	  
	  public void queryGoods();//查询购物车内已放商品
	  
	  public Integer hasGoods(Goods g);//查询购物车内是否已有某件商品
	 
	  public void modifyGoods(Goods g,Integer num);//修改购物车内该种商品的数量
	
}

接口的实现类CartDaoMem

package dao;
import java.util.*;

import entity.Goods;
public class CartDaoMem implements CartDao {
	
    private HashMap<Goods,Integer> goods = new HashMap<>();
	
    public CartDaoMem(){
    	
    }
    public CartDaoMem(HashMap<Goods,Integer> goods){   	
	  	
    	this.goods= goods;
    }
    
    /**
	   * 向购物车中添加商品
	   * @param g 向购物车中添加商品
	   * @return 值为空
	   */
    public void addGoods(Goods g,Integer n){
    	
	    this.goods.put(g, n);    		
	  	
   }
    
    /**
	   * 向购物车中删除商品
	   * @param goods 向购物车中删除商品
	   * @return 值为空
	   */
   public void delGoods(Goods g){
	   //将数组中myGoods条目对应的商品数量减为0	   
	   this.goods.remove(g);
   }
   /**
	   * 遍历查询购物车中的商品
	   * @param 值为空
	   * @return 值为空
	   */
    public void queryGoods(){
    	
		//显示所有书籍    	
    	Set<Goods> keys = goods.keySet();
		
		//遍历keyset,通过map.get(key)方法获得value的值
		for(Goods key : keys){
			System.out.println(key.getName()+"\t" + goods.get(key)+"\t"+key.getPrice());
		}
		
    }
    /**
	   * 查询购物车中的商品
	   * @param mygoods 带查询的商品
	   * @return 该商品的数量
	   */
    public Integer hasGoods(Goods g){
    	// 遍历所有的书籍信息
    	
    	if(goods.containsKey(g))
    		return goods.get(g);
    	
    	return 0;
    }
    
    /**
	   * 修改购物车中商品的数量
	   * @param g待修改的商品
	   * @param n 该商品要增加或减少的数量
	   * @return 布尔值,表明是否修改成功
	   */
    
    public void modifyGoods(Goods g,Integer n){
    	//修改某种商品在购物车中的数目
    	Integer num =goods.get(g);
    	num += n;
    	if(num==0){//如果库存数量为0,就直接删除
    		goods.remove(g);
    	}else{//如果库存数量不为0,仅仅修改它的数数量
    	    goods.put(g,num);
    	}
    	
    }
   
    /**
	   * 返回该类的字符串形式
	   * @return 返回该类的字符串形式
	   */
    @Override
 	public String toString() {
    	 
		 String s="";
		 System.out.println("购物车商品明细:");
		 //显示所有书籍    	
	     Set<Goods> keys = goods.keySet();
		 System.out.println("编号\t商品名");
		 System.out.println("***********************");
		 //遍历keyset,通过map.get(key)方法获得value的值
		 for(Goods key : keys){
			s +=key.toString() + "\t" + goods.get(key);
		}	
		 return s;
 	}
	

}

业务逻辑类:CartService

package service;

import dao.CartDao;
import dao.CartDaoMem;
import entity.*;
public class CartService {
	
	/**
	 * 购物车类(用于想购买存储图书和其他商品
	 */
	private CartDao cart = null;	
	
	public CartService() {
		cart = new CartDaoMem();
	}
	
	/**
	   * 向购物车中添加商品
	   * @param goods 向仓库中添加商品(数组)
	   * @return 值为空
	   */
	public boolean addToCart(Goods g,Integer n){
		
		System.out.println("现在开始向购物车中添加商品 ");
		if(n<=0){
			System.out.println("商品数量必须大于0!");
			return false;
		}
		if (g.getNumber() < n) {// 判断商品库中是否有足够书籍
			System.out.println("商品:" + g.getName() + " 仅剩" + g.getNumber() + "个,无法满足您的购买需要。");
			return false;
		}
		Integer num=cart.hasGoods(g);
		if(num>0){// 购物车中有当前书籍,书籍数量+n
			cart.modifyGoods(g, n);
		}else{// 购物车中没有有当前书籍,直接+n
			cart.addGoods(g,n);
		}
		
        System.out.println("购物车中 商品 "+g.getName() +" 的数量增加了 "+n+"个");
        return true;      
		
	}
	 /**
	   * 向购物车中删除商品
	   * @param g 向仓库中删除商品
	   * @return 值为空
	   */
	public boolean delFromCart(Goods g){
		if(cart.hasGoods(g)==0){
			System.out.println("要删除的商品"+g.getName()+" 在购物车中不存在");
			return false;
		}		
		cart.delGoods(g);
		System.out.println(g.getName()+" 已从购物车中清除!");		
		System.out.println();
		return true;
	}
	/**
	   * 向购物车中修改商品的数量
	   * @param goods 仓库中待修改的商品
	   * @param n 商品的数量增加或减少的数量
	   * @return 值为空
	   */
	public boolean modifyCart(Goods g,int n){
		
		System.out.println("现在开始修改商品 "+g.getName()+ " 的数量");
		int num = cart.hasGoods(g);//num表示该商品在购物车中的数量
		int sum = g.getNumber();//该商品现在在仓库中的数量
		
		/*第1种异常:在购物车中没有这个商品*/
		if(num==0){//如果查不到这个商品
			System.out.println("要修改的商品"+g.getName()+" 在购物车中不存在");
			return false;
		}
    	//第2种异常,要更改的商品数量已经超过了商城的库存   		
    	if(num+n >sum ) {
    		System.out.println("商品:" + g.getName() + " 仅剩" + g.getNumber() + "个,无法满足您的购买需要。");
			return false;
    	}
    	//第3种异常,要减少的商品数量比实际购物车中的数目还要大,操作错误。
    	if(num+n < 0 ){
    		System.out.println(g.getName()+" 待删除数量已超过该商品在购物车中的存数!");
		   	return false;
    	}
    	
    	if(num+n == 0)	{		
    		cart.modifyGoods(g, n);
    	    System.out.println(g.getName()+"已从购物车中移除!");
		    return true;
    	}
    
    	cart.modifyGoods(g, n);
		System.out.println(g.getName()+" 的库存增加了 " + n+ " 个");
		return true;
    	
		
	}
	
	/**
	 * 查询购物车中的商品
	 */
	public void queryCart( ){
		System.out.println("您的购物车中现有如下商品:");
		System.out.println("购物车商品明细:");
		//显示所有书籍    	
	    System.out.println("编号\t商品名");
		System.out.println("***********************");
		cart.queryGoods();
		System.out.println();
	}
}

异常处理类

购物车异常类CartException

package exception; public class CartException extends Exception{ public CartException() { super(); } public CartException(String message) { super(message); } }

商品异常类GoodsException

package exception;

public class GoodsException extends Exception{
	public GoodsException() {
		super();
	}
	public GoodsException(String message) {
		super(message);		
	}	
}

用户异常类UserException

package exception;

public class UserException extends Exception{
	
	public UserException() {
		super();
	}
	public UserException(String message) {
		super(message);		
	}	
}

添加了异常处理的业务逻辑类

UserService

package service;
import dao.*;
import entity.*;
import exception.UserException;
public class UserService {
	
	/**
	 * 用户集类(用于存储用户
	 */
	private UserDao userset = null;
	
	
	public UserService() {
		userset = new UserDaoMem();
	}
	
	/**
	 * 用于向用户集添加用户
	 */
	public void addUser(User user){
		
		userset.addUser(user);
        System.out.println("用户 "+user.getName() +" 注册成功");        
		System.out.println();
	}	
	
	/**
	 * 查询仓库中的用户
	 */
	public void queryUser( ){
		System.out.println("本店现有如下用户:");
		userset.queryUser();
		System.out.println();
	}
	/**
	 * 登录验证,判断用户名与密码是否一致
	 * 
	 * @param uid 用户输入的登录账号
	 * @param pwd 用户输入的登录密码
	 * @return 登录信息有效:返回用户对象,否则返回NULL
	 */
	public boolean login(String name, String pwd) throws UserException{
		//用户名为空,密码为空
		if(!userset.hasUser(name)){
			throw new UserException("用户 "+name+":该用户不存在");
			//System.out.println("用户 "+name+":该用户不存在");
			//return false;
		}else if(!userset.verify(name, pwd)){
			throw new UserException("用户 "+name+":用户名或密码错误");
			//System.out.println("用户 "+name+":用户名或密码错误");
			//return false;
		}
		
		System.out.println("用户 "+name+" 登陆成功!");
		return true;
	}
}

GoodsService

package service;
import dao.*;
import entity.*;
import exception.GoodsException;
/**
 * 这个类处理与商品有关的业务逻辑
 */
public class GoodsService {
	
	
	private GoodsDao dbset ;
	
	
	public GoodsService() {
		dbset =  new GoodsDaoMem();
	}
	
	/**
	   * 向数据仓库中批量添加商品
	   * @param goods 向仓库中添加商品(数组)
	   * @return 值为空
	   */
	public void addGoods(Goods [] goods){
		
		System.out.println("现在开始向库中添加商品 ");
		for(int i=0;i<goods.length;i++){
        	this.addGoods(goods[i]);        	
        }
		System.out.println("所有商品添加完毕 ");
		System.out.println();
		
		
	}
	/**
	   * 向数据仓库中添加商品
	   * @param g 向仓库中添加的商品
	   * @return 值为空
	   */
   public void addGoods(Goods  g){	
	   
	   int num = g.getNumber();
	   if(dbset.hasGoods(g)){//如果该商品已经存在,则追加商品数目
		   dbset.modifyGoods(g, num);
	   }else{//如果该商品不存在,则添加这个商品到数据库
		   dbset.addGoods(g);
	   }
	   System.out.println("    商品 "+g.getName() +" 成功入库");
		
	}
	 
	 /**
	   * 向数据仓库中删除商品
	   * @param g 向仓库中删除的商品
	   * @return 值为空
	   */
	public void delGoods(Goods g) throws GoodsException{
		System.out.println("现在开始向库中删除商品 ");
		if(dbset.hasGoods(g)){
		     dbset.delGoods(g);
		     System.out.println(g.getName()+" 已删除完毕!");
		}else{
			throw new GoodsException("要删除的商品"+g.getName()+" 不存在哦!");
			//System.out.println("要删除的商品"+g.getName()+" 不存在");
		}
		System.out.println();		
	}
	/**
	 * 查询仓库中的商品
	 * * @param 值为空
	   * @return 值为空
	 */
	
	public void  queryGoods( ){
		
		System.out.println("站点商品明细:");
		System.out.println("编号\t商品名");
		System.out.println("***********************");
		dbset.queryGoods();
		System.out.println();
		
	}
	/**
	   * 向数据仓库中修改商品的数量
	   * @param g 仓库中待修改的商品
	   * @param n 商品的数量增加或减少的数量
	   * @return 值为空
	   */
	public void modifyGoods(Goods g,int n) throws GoodsException{
		System.out.println("现在开始修改商品 "+g.getName()+ " 的数量");
		if(!dbset.hasGoods(g)){//如果查不到这个商品
			throw new GoodsException("要修改的商品"+g.getName()+" 不存在哦!");
			//System.out.println("要修改的商品"+g.getName()+" 不存在");
		}else {//查到这个商品了,可以做进一步操作
			
    		int s = g.getNumber();//该商品现在的库存数		
			if(n>0){//如果n>0 ,库存实际上是增加了		
			    dbset.modifyGoods(g, n);
			    
		    }else if(s +n >=0){//如果n<0,s+n>=0,库存实际上是减小了,但仍是正数
		    	dbset.modifyGoods(g, n);		  
		    	
		    }else{//对应s +n <0的情况,要减去的数目比实际的库存数还要大,操作错误。
		    	throw new GoodsException(g.getName()+" 待删除数量已超过该商品库存数哦!");
		    	//System.out.println(g.getName()+" 待删除数量已超过该商品库存数!");
		    }		
			System.out.println(g.getName()+" 的库存增加了 " + n+ " 个");
		    System.out.println();	
		}
    	
	}
	
	
}

CartService

package service;

import dao.CartDao;
import dao.CartDaoMem;
import entity.*;
import exception.CartException;

public class CartService {
	
	/**
	 * 购物车类(用于想购买存储图书和其他商品
	 */
	private CartDao cart = null;	
	
	public CartService() {
		cart = new CartDaoMem();
	}
	
	/**
	   * 向购物车中添加商品
	   * @param goods 向仓库中添加商品(数组)
	   * @return 值为空
	   */
	public boolean addToCart(Goods g,Integer n) throws CartException{
		
		System.out.println("现在开始向购物车中添加商品 ");
		if(n<=0){
			throw new CartException("商品数量必须大于0!");			
		}
		if (g.getNumber() < n) {// 判断商品库中是否有足够书籍
			throw new CartException("商品:" + g.getName() + " 仅剩"
		              + g.getNumber() + "个,无法满足您的购买需要。");	
			//System.out.println("商品:" + g.getName() + " 仅剩" + g.getNumber() + "个,无法满足您的购买需要。");
			//return false;
		}
		Integer num=cart.hasGoods(g);
		if(num>0){// 购物车中有当前书籍,书籍数量+n
			cart.modifyGoods(g, n);
		}else{// 购物车中没有有当前书籍,直接+n
			cart.addGoods(g,n);
		}
		
        System.out.println("购物车中 商品 "+g.getName() +" 的数量增加了 "+n+"个");
        return true;      
		
	}
	 /**
	   * 向购物车中删除商品
	   * @param g 向仓库中删除商品
	   * @return 值为空
	   */
	public boolean delFromCart(Goods g) throws CartException {
		if(cart.hasGoods(g)==0){
			throw new CartException("要删除的商品"+g.getName()+" 在购物车中不存在哦!");
			//System.out.println("要删除的商品"+g.getName()+" 在购物车中不存在");
			//return false;
		}		
		cart.delGoods(g);
		System.out.println(g.getName()+" 已从购物车中清除!");		
		System.out.println();
		return true;
	}
	/**
	   * 向购物车中修改商品的数量
	   * @param goods 仓库中待修改的商品
	   * @param n 商品的数量增加或减少的数量
	   * @return 值为空
	   */
	public boolean modifyCart(Goods g,int n) throws CartException {
		
		System.out.println("现在开始修改商品 "+g.getName()+ " 的数量");
		int num = cart.hasGoods(g);//num表示该商品在购物车中的数量
		int sum = g.getNumber();//该商品现在在仓库中的数量
		
		/*第1种异常:在购物车中没有这个商品*/
		if(num==0){//如果查不到这个商品
			throw new CartException("要修改的商品"+g.getName()+" 在购物车中不存在");
			//System.out.println("要修改的商品"+g.getName()+" 在购物车中不存在");
			//return false;
		}
    	//第2种异常,要更改的商品数量已经超过了商城的库存   		
    	if(num+n >sum ) {
    		throw new CartException("商品:" + g.getName() + 
    				" 仅剩" + g.getNumber() + "个,无法满足您的购买需要。");
    		//System.out.println("商品:" + g.getName() + " 仅剩" + g.getNumber() + "个,无法满足您的购买需要。");
			//return false;
    	}
    	//第3种异常,要减少的商品数量比实际购物车中的数目还要大,操作错误。
    	if(num+n < 0 ){
    		throw new CartException(g.getName()+" 待删除数量已超过该商品在购物车中的存数!");
    		//System.out.println(g.getName()+" 待删除数量已超过该商品在购物车中的存数!");
		   	//return false;
    	}
    	
    	if(num+n == 0)	{		
    		cart.modifyGoods(g, n);
    	    System.out.println(g.getName()+"已从购物车中移除!");
		    return true;
    	}
    
    	cart.modifyGoods(g, n);
		System.out.println(g.getName()+" 的库存增加了 " + n+ " 个");
		return true;
    	
		
	}
	
	/**
	 * 查询购物车中的商品
	 */
	public void queryCart( ){
		System.out.println("您的购物车中现有如下商品:");
		System.out.println("购物车商品明细:");
		//显示所有书籍    	
	    System.out.println("编号\t商品名");
		System.out.println("***********************");
		cart.queryGoods();
		System.out.println();
	}
}

测试类MainClass

package main;

import entity.*;
import exception.CartException;
import exception.GoodsException;
import exception.UserException;
import service.*;

/*本类对应实训: 添加购物车功能(用文件实现)*/
public class MainClass {
	
	
	public static void main(String[] args) {
						// 
				
			    Tag t1 = new Tag(1, "纸质书籍", "软件编程");
				Tag t2 = new Tag(1, "纸质书籍", "文学经典");
				Tag t3 = new Tag(1, "电子产品", "学习工具");
				
				Goods[] goods=new Goods[5];
			    
			    goods[0]=new Book("01","think in java","Bruce Eckel",50.0f,50,t1);
			    goods[1]=new Book("02","JAVA核心技术","Cay S.Horstmann",50.0f,40,t1);
			    goods[2]=new Book("03","射雕英雄传","金庸",30.0f,30,t2);	    
			    
			    goods[3]= new Ipad("lr01","清华同方平板",
						151f,10,"tf-001",t3);
			    goods[4]= new Ipad("lr02","小米平板电脑",
						151f,10,"xm-001",t3);
			    
			    try {
			    	GoodsService bs = new GoodsService();
			  
			    	//增加商品
			    	bs.addGoods(goods);
			    	bs.queryGoods(); 
			    
			    	//删除商品
			    	bs.delGoods(goods[2]);
			    	bs.queryGoods(); 
			    	Goods newgoods=new Ipad("lr03","苹果平板电脑",
						151f,50,"xm-001",t3);;
						//bs.delGoods(newgoods);
						//bs.queryGoods(); 
			    
						//查询商品
						System.out.println("现在开始查询全库商品的信息");
						bs.queryGoods(); 
			    
						//修改商品的库存数量
						//bs.modifyGoods(newgoods,5);
					bs.modifyGoods(goods[3],5);
					bs.modifyGoods(goods[3],-5);
					bs.modifyGoods(goods[3],-25);
					bs.queryGoods(); //查询商品
			    }catch(GoodsException e){
			    	
			    	System.out.println(e.getMessage());
			    }
			   
			    /*下面这些属于客户端的操作*/
		        /*用户有关操作*/
			    
		        System.out.println("以下是消费者的操作:");
				User zhang= new User("u01", "zhangyi", "123");
				try {
				   UserService us = new UserService();
				   us.addUser(zhang);
				   us.queryUser();
				   us.login("zhanger","456");
				   us.login("zhangyi","456");
				   us.login("zhangyi","123");       
				}catch(UserException e){
					System.out.println(e.getMessage());
				}
		      			
				try{
					Goods g1=goods[0];
					Goods g2=goods[1];
					Goods g3=goods[2];
					CartService cs =zhang.getCart();//用户张获取购物车
					//cs.addToCart(g1, -3);
					cs.addToCart(g1, 3);
					cs.addToCart(g2,3);
					cs.queryCart();
					//cs.delFromCart(g3);
					cs.delFromCart(g2);
					cs.queryCart(); 
					//cs.modifyCart(g3, 2);
					//cs.modifyCart(g1, 100);
					cs.modifyCart(g1, 2);
					cs.modifyCart(g1,-2);
					//cs.modifyCart(g1, -20);
					cs.queryCart();
					cs.modifyCart(g1,-3);
					cs.queryCart();
				}catch(CartException e){
					System.out.println(e.getMessage());
				}
		        
       
		
	}
	

}



返回 Java程序设计