fix my assignment

profilea12321a
assignment_3.zip

Shen_Chen_Assignment_3/Product.java

Shen_Chen_Assignment_3/Product.java

/**
 * Created by shen on 2017/4/12.
 */
public   class   Product   {
     int  productId ;
     String  productName ;
     String  category ;
     double  price ;

     public   Product ()   {
         super ();
     }

     public   Product ( int  productId ,   String  productName ,   String  category ,
                    double  price )   {
         super ();
         this . productId  =  productId ;
         this . productName  =  productName ;
         this . category  =  category ;
         this . price  =  price ;
     }

     public   String  toString ()   {
         return   "Product [productId="   +  productId  +   ", productName="
                 +  productName  +   ", category="   +  category  +   ", price="   +  price
                 +   "]" ;
     }

     public   int  getProductId ()   {
         return  productId ;
     }

     public   void  setProductId ( int  productId )   {
         this . productId  =  productId ;
     }

     public   String  getProductName ()   {
         return  productName ;
     }

     public   void  setProductName ( String  productName )   {
         this . productName  =  productName ;
     }

     public   String  getCategory ()   {
         return  category ;
     }

     public   void  setCategory ( String  category )   {
         this . category  =  category ;
     }

     public   double  getPrice ()   {
         return  price ;
     }

     public   void  setPrice ( double  price )   {
         this . price  =  price ;
     }
}

Shen_Chen_Assignment_3/ProductItem.java

Shen_Chen_Assignment_3/ProductItem.java

/**
 * Created by shen on 2017/4/12.
 */
public   class   ProductItem   {
      Product  product ;
     int  count ;
     double  totalprice (){
         double  price = product . getPrice ();
         return  price * count ;
     }

     public   ProductItem ()   {
         super ();
     }

     public   ProductItem ( Product  product ,   int  count )   {
         super ();
         this . product  =  product ;
         this . count  =  count ;
     }

     public   Product  getProduct ()   {
         return  product ;
     }
     public   void  setProduct ( Product  product )   {
         this . product  =  product ;
     }
     public   int  getCount ()   {
         return  count ;
     }
     public   void  setCount ( int  count )   {
         this . count  =  count ;
     }
}

Shen_Chen_Assignment_3/ShoppingCart.java

Shen_Chen_Assignment_3/ShoppingCart.java

/**
 * Created by shen on 2017/4/12.
 */
import  java . util . Collection ;
import  java . util . Iterator ;
import  java . util . LinkedHashMap ;
import  java . util . Map ;
public   class   ShoppingCart   {
     private   Map < Integer , ProductItem >  map = new   LinkedHashMap < Integer , ProductItem > ();

     public   void  addProduct ( Product  p ){
         int  productId = p . getProductId ();
         if ( map . containsKey ( productId )){
             ProductItem  productItem = map . get ( productId );
            productItem . setCount ( productItem . getCount () + 1 );
         } else {
            map . put ( productId ,   new   ProductItem ( p , 1 ));
         }
     }
     public   void  showAll (){
         Collection < ProductItem >  productItems  =  map . values ();
         Iterator < ProductItem >  iterator  =  productItems . iterator ();
         while ( iterator . hasNext ()){
             ProductItem  productItem  =  iterator . next ();
             Product  product  =  productItem . getProduct ();
             System . out . println ( "item ID:" + product . getProductId () + ",Item:"
                     + product . getProductName () + ",price:" + product . getPrice () + ",amount:" + productItem . getCount ()
                     + ",totalMone:" + productItem . totalprice ());
         }
     }
     public   boolean  deleteProduct ( int  productId ){
         if ( map . containsKey ( productId )){
            map . remove ( productId );
             return   true ;
         }
         return   false ;
     }
     public   boolean  modifyProduct ( int  productId , int  count ){
         if ( map . containsKey ( productId )){
             if ( count >= 1 ){
                 ProductItem  productItem  =  map . get ( productId );
                productItem . setCount ( count );
                 return   true ;
             } else   if ( count == 0 ){
                deleteProduct ( productId );
                 return   true ;
             }
         }
         return   false ;
     }

     public   void  clearCart (){
        map . clear ();
     }

     public   double  totalAllMoney (){
         double  total = 0 ;
         Collection < ProductItem >  productItems  =  map . values ();
         Iterator < ProductItem >  iterator  =  productItems . iterator ();
         while ( iterator . hasNext ()){
             ProductItem  productItem  =  iterator . next ();
             double  money = productItem . totalprice ();
            total += money ;
         }
         return  total ;
     }
}

Shen_Chen_Assignment_3/TestDrive.java

Shen_Chen_Assignment_3/TestDrive.java

/**
 * Created by shen on 2017/4/12.
 */
public   class   TestDrive   {
     public   static   void  main ( String []  args )   {
         ShoppingCart  cart = new   ShoppingCart ();
         Product  p1 = new   Product ( 101 , "Mac" , "Laptop" , 4599 );
         Product  p2 = new   Product ( 102 , "Apple" , "Fruit" , 5.99 );
         Product  p3 = new   Product ( 103 , "Orange" , "Fruit" , 5.99 );
         Product  p4 = new   Product ( 104 , "Iphone7" , "Cellphone" , 928 ); //测试买两件商品的情况
        cart . addProduct ( p1 );
        cart . addProduct ( p2 );
        cart . addProduct ( p3 );
        cart . addProduct ( p4 );
        cart . showAll ();
         System . out . println ( "############" );
         boolean  flag = cart . deleteProduct ( p2 . getProductId ());
         if ( flag ){
             System . out . println ( "ProductID:" + p2 . getProductId () + "Remove Succeed!" );
         } else {
             System . out . println ( "Remove fail" );
         }
        cart . showAll ();
         System . out . println ( "############" );
         boolean  flag2 = cart . modifyProduct ( p3 . getProductId (),   2 );
         if ( flag2 ){
             System . out . println ( "ProductID:" + p3 . getProductId () + "Add Succeed!" );
         } else {
             System . out . println ( "Add fail" );
         }
        cart . showAll ();

         //cart.clearCart();
         //cart.showAll();
         System . out . println ( "totalprice:" + cart . totalAllMoney ());

     }
}