document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. /**
  2.  * @author Muhammad Bagus Istighfar
  3.  * @version 28-10-20
  4.  */
  5. import java.util.ArrayList;    
  6.  
  7. public class Auction  
  8. {  
  9.   private ArrayList<Lot> lots;  
  10.   private int nextLotNumber;
  11.  
  12.   public Auction()  
  13.   {  
  14.     lots = new ArrayList<Lot>();  
  15.     nextLotNumber = 1;  
  16.   }    
  17.    
  18.   public void enterLot(String description)  
  19.   {  
  20.     lots.add(new Lot(nextLotNumber, description));  
  21.     nextLotNumber++;  
  22.   }  
  23.    
  24.   public void showLots()  
  25.   {  
  26.     for(Lot lot : lots)  
  27.     {
  28.         System.out.println(lot.toString());  
  29.     }  
  30.   }  
  31.    
  32.   public void makeABid(int lotNumber, Person bidder, long value)  
  33.   {  
  34.     Lot selectedLot = getLot(lotNumber);  
  35.     if (selectedLot != null)  
  36.     {  
  37.       boolean succesful = selectedLot.bidFor(new Bid(bidder, value));  
  38.       if (succesful)  
  39.       {  
  40.         System.out.println("The bid for lot number " + lotNumber + " was succesful.");  
  41.       }  
  42.       else  
  43.       {  
  44.         Bid highestBid = selectedLot.getHighestBid();  
  45.         System.out.println("Lot number: " + lotNumber + " already has a bid of: " + highestBid.getValue());  
  46.       }  
  47.     }  
  48.   }  
  49.    
  50.   public Lot getLot(int lotNumber)  
  51.   {  
  52.     if((lotNumber >= 1) && (lotNumber < nextLotNumber))  
  53.     {  
  54.       Lot selectedLot = lots.get(lotNumber-1);    
  55.       if (selectedLot.getNumber() != lotNumber)  
  56.       {  
  57.         System.out.println("Internal error: Lot number " + selectedLot.getNumber() + " was returned instead of " + lotNumber);  
  58.         selectedLot = null;  
  59.       }  
  60.       return selectedLot;  
  61.     }  
  62.     else  
  63.     {  
  64.       System.out.println("Lot number: " + lotNumber + " does not exist.");  
  65.       return null;  
  66.     }  
  67.   }  
  68.  
  69.   public void close()  
  70.   {  
  71.     System.out.println("Closing auction.");  
  72.     for (Lot lot : lots)  
  73.     {  
  74.       System.out.println(lot.getNumber() + ": " + lot.getDescription());  
  75.       if (lot.getHighestBid() == null)  
  76.       {  
  77.         System.out.println (" (No bids) ");  
  78.       }  
  79.       else  
  80.       {  
  81.         Bid highestBid = lot.getHighestBid();  
  82.         System.out.println(" sold to " + highestBid.getBidder().getName() + " for " + highestBid.getValue());  
  83.       }  
  84.     }  
  85.   }  
  86. }
');