Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Auction class merupakan class utama berisi sistem lelang.
- *
- * @author Daffa Amanullah Setyawan
- * @version 0.1 24 Oktober 2020
- */
- import java.util.ArrayList;
- public class Auction
- {
- // Daftar Lots untuk auction
- private ArrayList<Lot> lots;
- // Nomor yang diberikan to the next lot entered
- private int nextLotNumber;
- /**
- * Membuat a new auction
- */
- public Auction()
- {
- lots = new ArrayList<Lot>();
- nextLotNumber = 1;
- }
- /**
- * Memasukkan a new lot ke dalam auction
- * @parameter description Sebuah deskripsi dari lot
- */
- public void enterLot(String description)
- {
- lots.add(new Lot(nextLotNumber, description));
- nextLotNumber++;
- }
- /**
- * Menampilkan daftar lengkap dari Lots in this auction
- */
- public void showLots()
- {
- for(Lot lot : lots)
- {
- System.out.println(lot.toString());
- }
- }
- /**
- * Make a bid untuk sebuah lot
- * Sebuah pesan dicetak mengindikasikan apakah bidding
- * berhasil atau tidak.
- * @parameter lotNumber The lot being bid for.
- * @parameter bidder The person yang melakukan bid untuk lot.
- * @parameter value Jumlah nilai dari bid.
- */
- public void makeABid(int lotNumber, Person bidder, long value)
- {
- Lot selectedLot = getLot(lotNumber);
- if (selectedLot != null)
- {
- boolean succesful = selectedLot.bidFor(new Bid(bidder, value));
- if (succesful)
- {
- System.out.println("The bid for lot number " +
- lotNumber + " was succesful.\n");
- }
- else
- {
- // Melaporkan bid mana yang lebih besar.
- Bid highestBid = selectedLot.getHighestBid();
- System.out.println("Lot number: " + lotNumber +
- " already has a bid of: " +
- highestBid.getValue() + "\n");
- }
- }
- }
- /**
- * Return the lot dengan nomor yang diberikan. Return null
- * jika sebuah lot dengan nomor yang dimaksud tidak ada.
- * @parameter lotNumber The number of the lot to return.
- */
- public Lot getLot(int lotNumber)
- {
- if((lotNumber >= 1) && (lotNumber < nextLotNumber))
- {
- //The number seems to be reasonable
- Lot selectedLot = lots.get(lotNumber-1);
- // Menyocokkan supaya meyakinkan apakah sudah mendapat lot yang benar
- if (selectedLot.getNumber() != lotNumber)
- {
- System.out.println("Internal error: Lot number " +
- selectedLot.getNumber() +
- " was returned instead of " + lotNumber);
- selectedLot = null;
- }
- return selectedLot;
- }
- else
- {
- System.out.println("Lot number: " + lotNumber + " does not exist.");
- return null;
- }
- }
- /**
- * Menutup auction.
- * Mengumumkan hasil lelang tiap Lots
- */
- public void close()
- {
- System.out.println("Closing auction.\n");
- for (Lot lot : lots)
- {
- System.out.println(lot.getNumber() + ": " + lot.getDescription());
- if (lot.getHighestBid() == null)
- {
- System.out.println (" (No bids) ");
- }
- else
- {
- Bid highestBid = lot.getHighestBid();
- System.out.println(" sold to " +
- highestBid.getBidder().getName() +
- " for " + highestBid.getValue());
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment