AmanullahDDD

Auction

Oct 25th, 2020
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.68 KB | None | 0 0
  1. /**
  2.  * Auction class merupakan class utama berisi sistem lelang.
  3.  *
  4.  * @author Daffa Amanullah Setyawan
  5.  * @version 0.1 24 Oktober 2020
  6.  */
  7.  
  8. import java.util.ArrayList;
  9.  
  10.  public class Auction  
  11.  {  
  12.    // Daftar Lots untuk auction
  13.    private ArrayList<Lot> lots;
  14.    // Nomor yang diberikan to the next lot entered  
  15.    private int nextLotNumber;
  16.    
  17.    /**  
  18.     * Membuat a new auction  
  19.     */  
  20.    public Auction()  
  21.    {  
  22.      lots = new ArrayList<Lot>();  
  23.      nextLotNumber = 1;  
  24.    }
  25.    
  26.    /**  
  27.     * Memasukkan a new lot ke dalam auction  
  28.     * @parameter description Sebuah deskripsi dari lot  
  29.     */    
  30.    public void enterLot(String description)  
  31.    {  
  32.      lots.add(new Lot(nextLotNumber, description));  
  33.      nextLotNumber++;  
  34.    }
  35.    
  36.    /**  
  37.     * Menampilkan daftar lengkap dari Lots in this auction  
  38.     */  
  39.    public void showLots()  
  40.    {  
  41.      for(Lot lot : lots)  
  42.      {  
  43.        System.out.println(lot.toString());  
  44.      }  
  45.    }
  46.    
  47.    /**  
  48.     * Make a bid untuk sebuah lot  
  49.     * Sebuah pesan dicetak mengindikasikan apakah bidding
  50.     * berhasil atau tidak.
  51.     * @parameter lotNumber The lot being bid for.  
  52.     * @parameter bidder The person yang melakukan bid untuk lot.  
  53.     * @parameter value Jumlah nilai dari bid.  
  54.     */  
  55.    public void makeABid(int lotNumber, Person bidder, long value)  
  56.    {  
  57.      Lot selectedLot = getLot(lotNumber);  
  58.      if (selectedLot != null)  
  59.      {  
  60.        boolean succesful = selectedLot.bidFor(new Bid(bidder, value));  
  61.        if (succesful)  
  62.        {  
  63.          System.out.println("The bid for lot number " +
  64.                             lotNumber + " was succesful.\n");  
  65.        }  
  66.        else  
  67.        {  
  68.          // Melaporkan bid mana yang lebih besar.
  69.          Bid highestBid = selectedLot.getHighestBid();  
  70.          System.out.println("Lot number: " + lotNumber +
  71.                             " already has a bid of: " +
  72.                             highestBid.getValue() + "\n");  
  73.        }  
  74.      }  
  75.    }
  76.    
  77.    /**  
  78.     * Return the lot dengan nomor yang diberikan. Return null  
  79.     * jika sebuah lot dengan nomor yang dimaksud tidak ada.
  80.     * @parameter lotNumber The number of the lot to return.  
  81.     */  
  82.    public Lot getLot(int lotNumber)  
  83.    {  
  84.      if((lotNumber >= 1) && (lotNumber < nextLotNumber))  
  85.      {  
  86.        //The number seems to be reasonable  
  87.        Lot selectedLot = lots.get(lotNumber-1);
  88.        
  89.        // Menyocokkan supaya meyakinkan apakah sudah mendapat lot yang benar
  90.        if (selectedLot.getNumber() != lotNumber)  
  91.        {  
  92.          System.out.println("Internal error: Lot number " +
  93.                             selectedLot.getNumber() +
  94.                             " was returned instead of " + lotNumber);  
  95.          selectedLot = null;  
  96.        }  
  97.        return selectedLot;  
  98.      }  
  99.      else  
  100.      {  
  101.        System.out.println("Lot number: " + lotNumber + " does not exist.");  
  102.        return null;  
  103.      }  
  104.    }
  105.    
  106.    /**  
  107.     * Menutup auction.
  108.     * Mengumumkan hasil lelang tiap Lots
  109.     */  
  110.    public void close()  
  111.    {  
  112.      System.out.println("Closing auction.\n");  
  113.      for (Lot lot : lots)  
  114.      {  
  115.        System.out.println(lot.getNumber() + ": " + lot.getDescription());  
  116.        if (lot.getHighestBid() == null)  
  117.        {  
  118.          System.out.println (" (No bids) ");  
  119.        }  
  120.        else  
  121.        {  
  122.          Bid highestBid = lot.getHighestBid();  
  123.          System.out.println(" sold to " +
  124.                             highestBid.getBidder().getName() +
  125.                             " for " + highestBid.getValue());  
  126.        }  
  127.      }  
  128.    }  
  129.  }
Advertisement
Add Comment
Please, Sign In to add comment