Discussion of Activity 5.6 - E-commerce class hierarchy with abstract classes

Here is our sample solution for the class Bill.

import java.util.*;

public class Bill
{
   private List<Item> itemList;

   public Bill()
   {
      itemList = new ArrayList<Item>();
   }

   public void addItem(Item item)
   {
      itemList.add(item);
   }

   public void removeItem(Item item)
   {
      itemList.remove(item);
   }

   public void printBill()
   {
      int totalAmount = 0;
      Item item = null;
      for (int i = 0; i < itemList.size(); i++)
      {
         item = itemList.get(i);
         totalAmount = totalAmount + item.getUnitPrice();
         System.out.println("Item " + (i + 1) + ": " + 
            item.getItemName() + " cost " + item.getUnitPrice());
      }
      System.out.println("Total amount: " + totalAmount +
         "\n\nThank you for visiting us.  Please come again.");
   }
}