Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * @author Timotius Wirawan
- * @version 26 Oktober 2020
- */
- import java.util.ArrayList;
- public class Auction
- {
- private ArrayList<Lot> daftarlot; //daftar barang lelang
- private int no_Lot; //untuk nomor lelang barang
- //lelang baru
- public Auction()
- {
- daftarlot = new ArrayList<Lot>(); //list barangnya
- no_Lot = 1; //nomor lelang barang
- }
- //memasukkan barang ke list barang lelang
- public void enterLot(String nama_barang)
- {
- daftarlot.add(new Lot(no_Lot, nama_barang));
- no_Lot++;
- }
- //menampilkan semua barang yang dilelang
- public void showLot()
- {
- for(Lot lot : daftarlot)
- {
- System.out.println(lot.toString());
- }
- System.out.println();
- }
- public void MakeBid(int CurrentlotNumber, Person bidder, long price)
- {
- Lot selectedLot = getLot(CurrentlotNumber);
- if(selectedLot != null)
- {
- boolean successful = selectedLot.bidFor(new Bid(bidder, price));
- //cek dengan penawaran sebelumnya, apakah lebih besar atau tidak
- if(successful)
- {
- System.out.println("Bid untuk lot nomor " +
- CurrentlotNumber + " berhasil dilakukan");
- System.out.println("Bid dilakukan oleh " + bidder.getNamaOrang()+
- " dengan harga " +"Rp."+ price);
- }
- else
- {
- //bila penawaran sebelumnya lebih besar, maka penawaran ini gagal
- Bid highestBid = selectedLot.getHighestBid();
- System.out.println("Bid untuk Lot Nomor "+ CurrentlotNumber +
- " gagal dilakukan");
- System.out.println("Lot nomor "+ CurrentlotNumber+
- " memiliki penawaran tertinggi sebesar "+"Rp."+ highestBid.getBid());
- }
- }
- }
- public Lot getLot(int CurrentlotNumber)
- {
- if((CurrentlotNumber >= 1) && (CurrentlotNumber < no_Lot))
- {
- Lot selectedLot = daftarlot.get(CurrentlotNumber - 1);
- if(selectedLot.getid_barang() != CurrentlotNumber)
- {
- System.out.println("Internal error : Lot nomor " +
- selectedLot.getid_barang() +
- "telah dikembalikan, bukan lot nomor " +
- CurrentlotNumber);
- selectedLot = null;
- }
- return selectedLot;
- }
- else
- {
- System.out.println("Lot nomor " + CurrentlotNumber + " tidak tersedia.");
- return null;
- }
- }
- //bid akan berhenti
- public void bidstop()
- {
- System.out.println("Pelelangan telah berakhir.");
- for(Lot lot : daftarlot)
- {
- System.out.print(lot.getid_barang() + ". " +lot.getDescription());
- Bid bid = lot.getHighestBid();
- if (bid==null)
- {
- System.out.print(" : Tidak ada penawaran untuk lot ini");
- System.out.println();
- }
- else
- {
- System.out.println(" : Barang ini terjual kepada " +
- bid.getBidder().getNamaOrang() + " dengan harga : Rp." + bid.getBid());
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment