Advertisement
kuchuz

PBO-C 4 : Auction()

Nov 16th, 2020
539
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.77 KB | None | 0 0
  1. import java.util.ArrayList;
  2.  
  3. public class Auction  {
  4.     private ArrayList<Lot> lots;
  5.     private int nextLotNumber;
  6.  
  7.     public Auction(){
  8.         lots = new ArrayList<Lot>();
  9.         nextLotNumber = 1;
  10.     }
  11.  
  12.     public void enterLot(String description){
  13.         lots.add(new Lot(nextLotNumber, description));
  14.         nextLotNumber++;
  15.     }  
  16.  
  17.     public void showLots(){
  18.         for(Lot lot : lots){
  19.             System.out.println(lot.toString());
  20.         }
  21.     }  
  22.  
  23.     public void makeABid(int lotNumber, Person bidder, long value){
  24.         Lot selectedLot = getLot(lotNumber);
  25.         if (selectedLot != null){
  26.             boolean succesful = selectedLot.bidFor(new Bid(bidder, value));
  27.             if (succesful){
  28.                 System.out.println("The bid for lot number " + lotNumber + " was succesful.");
  29.             }else{
  30.                 Bid highestBid = selectedLot.getHighestBid();
  31.                 System.out.println("Lot number: " + lotNumber + " already has a bid of: " + highestBid.getValue());
  32.             }
  33.         }
  34.     }  
  35.  
  36.     public Lot getLot(int lotNumber){
  37.         if((lotNumber >= 1) && (lotNumber < nextLotNumber)){
  38.             Lot selectedLot = lots.get(lotNumber-1);
  39.             if (selectedLot.getNumber() != lotNumber){
  40.                 System.out.println("Internal error: Lot number " + selectedLot.getNumber() + " was returned instead of " + lotNumber);
  41.                 selectedLot = null;
  42.             }
  43.             return selectedLot;
  44.         }else{
  45.             System.out.println("Lot number: " + lotNumber + " does not exist.");
  46.             return null;
  47.         }
  48.     }
  49.  
  50.     public void close(){
  51.         System.out.println("Closing auction.");
  52.         for (Lot lot : lots){
  53.             System.out.println(lot.getNumber() + ": " + lot.getDescription());
  54.             if (lot.getHighestBid() == null){
  55.                 System.out.println (" (No bids) ");
  56.             }else{
  57.                 Bid highestBid = lot.getHighestBid();
  58.                 System.out.println(" sold to " + highestBid.getBidder().getName() + " for " + highestBid.getValue());
  59.             }
  60.         }
  61.     }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement