Skip to main content

music organizer & auction

1. music organizer



  import java.util.ArrayList;    
  /**    
  * A class to hold details of audio files.    
  *    
  * @author muhammad irfan 
  * @version 1.0   
  */    
  public class MusicOrganizer    
  {    
   // An ArrayList for storing the file names of music files.    
   private ArrayList<String> files;    
   /**    
   * Create a MusicOrganizer    
   */    
   public MusicOrganizer()    
   {    
   files = new ArrayList<>();    
   }    
   /**    
   * Add a file to the collection.    
   * @param filename The file to be added.    
   */    
   public void addFile(String filename)    
   {    
   files.add(filename);    
   }    
   /**    
   * Return the number of files in the collection.    
   * @return The number of files in the collection.    
   */    
   public int getNumberOfFiles()    
   {    
   return files.size();    
   }    
   /**    
   * List a file from the collection.    
   * @param index The index of the file to be listed.    
   */    
   public void StartPlaying(int index)    
   {    
   if(index >= 0 && index < files.size()) {    
    String filename = files.get(index);    
    System.out.println("Now Playing : ");    
    System.out.println(filename);    
   }    
   }    
   /**    
   * Remove a file from the collection.    
   * @param index The index of the file to be removed.    
   */    
   public void removeFile(int index)    
   {    
   if(index >= 0 && index < files.size()) {    
    files.remove(index);    
   }    
   }    
   public void StopPlaying(){    
   System.out.println("==============================");    
   System.out.println("Music Has Stopped");    
   System.out.println("==============================");    
   }    
  }  

2. auction


2.1 auction
  import java.util.ArrayList;   
  /**   
  * A simple model of an auction.   
  * The auction maintains a list of lots of arbitrary length.   
  *   
  * @author muhammad irfan   
  * @version 1.0   
  */   
  public class Auction   
  {   
   // The list of Lots in this auction.   
   private ArrayList<Lot> lots;   
   // The number that will be given to the next lot entered   
   // into this auction.   
   private int nextLotNumber;   
   /**   
   * Create a new auction.   
   */   
   public Auction()   
   {   
    lots = new ArrayList<>();   
    nextLotNumber = 1;   
   }   
   /**   
   * Enter a new lot into the auction.   
   * @param description A description of the lot.   
   */   
   public void enterLot(String description)   
   {   
    lots.add(new Lot(nextLotNumber, description));   
    nextLotNumber++;   
   }   
   /**   
   * Show the full list of lots in this auction.   
   */   
   public void showLots()   
   {   
    for(Lot lot : lots) {   
     System.out.println(lot.toString());   
    }   
   }   
   /**   
   * Make a bid for a lot.   
   * A message is printed indicating whether the bid is   
   * successful or not.   
   *    
   * @param lotNumber The lot being bid for.   
   * @param bidder The person bidding for the lot.   
   * @param value The value of the bid.   
   */   
   public void makeABid(int lotNumber, Person bidder, long value)   
   {   
    Lot selectedLot = getLot(lotNumber);   
    if(selectedLot != null) {   
     Bid bid = new Bid(bidder, value);   
     boolean successful = selectedLot.bidFor(bid);   
     if(successful) {   
      System.out.println("The bid for lot number " +   
           lotNumber + " was successful.");   
     }   
     else {   
      // Report which bid is higher.   
      Bid highestBid = selectedLot.getHighestBid();   
      System.out.println("Lot number: " + lotNumber +   
           " already has a bid of: " +   
           highestBid.getValue());   
     }   
    }   
   }   
   /**   
   * Return the lot with the given number. Return null   
   * if a lot with this number does not exist.   
   * @param 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);   
     // Include a confidence check to be sure we have the   
     // right lot.   
     if(selectedLot.getNumber() != lotNumber) {   
      System.out.println("Internal error: Lot number " +   
           selectedLot.getNumber() +   
           " was returned instead of " +   
           lotNumber);   
      // Don't return an invalid lot.   
      selectedLot = null;   
     }   
     return selectedLot;   
    }   
    else {   
     System.out.println("Lot number: " + lotNumber +   
          " does not exist.");   
     return null;   
    }   
   }   
  }   


2.2 bid
 /**   
  * A class that models an auction bid.   
  * It contains a reference to the Person bidding and the amount bid.   
  *    
  * @author muhammad irfan   
  * @version 1.0   
  */   
  public class Bid   
  {   
   // The person making the bid.   
   private final Person bidder;   
   // The value of the bid. This could be a large number so   
   // the long type has been used.   
   private final long value;   
   /**   
   * Create a bid.   
   * @param bidder Who is bidding for the lot.   
   * @param value The value of the bid.   
   */   
   public Bid(Person bidder, long value)   
   {   
    this.bidder = bidder;   
    this.value = value;   
   }   
   /**   
   * @return The bidder.   
   */   
   public Person getBidder()   
   {   
    return bidder;   
   }   
   /**   
   * @return The value of the bid.   
   */   
   public long getValue()   
   {   
    return value;   
   }   
  }   


2.3 lot
 /**   
  * A class to model an item (or set of items) in an   
  * auction: a lot.   
  *    
  * @author muhammad irfan  
  * @version 1.0  
  */   
  public class Lot   
  {   
   // A unique identifying number.   
   private final int number;   
   // A description of the lot.   
   private String description;   
   // The current highest bid for this lot.   
   private Bid highestBid;   
   /**   
   * Construct a Lot, setting its number and description.   
   * @param number The lot number.   
   * @param description A description of this lot.   
   */   
   public Lot(int number, String description)   
   {   
    this.number = number;   
    this.description = description;   
    this.highestBid = null;   
   }   
   /**   
   * Attempt to bid for this lot. A successful bid   
   * must have a value higher than any existing bid.   
   * @param bid A new bid.   
   * @return true if successful, false otherwise   
   */   
   public boolean bidFor(Bid bid)   
   {   
    if(highestBid == null) {   
     // There is no previous bid.   
     highestBid = bid;   
     return true;   
    }   
    else if(bid.getValue() > highestBid.getValue()) {   
     // The bid is better than the previous one.   
     highestBid = bid;   
     return true;   
    }   
    else {   
     // The bid is not better.   
     return false;   
    }   
   }   
   /**   
   * @return A string representation of this lot's details.   
   */   
   public String toString()   
   {   
    String details = number + ": " + description;   
    if(highestBid != null) {   
     details += " Bid: " +    
        highestBid.getValue();   
    }   
    else {   
     details += " (No bid)";   
    }   
    return details;   
   }   
   /**   
   * @return The lot's number.   
   */   
   public int getNumber()   
   {   
    return number;   
   }   
   /**   
   * @return The lot's description.   
   */   
   public String getDescription()   
   {   
    return description;   
   }   
   /**   
   * @return The highest bid for this lot.   
   *   This could be null if there is   
   *   no current bid.   
   */   
   public Bid getHighestBid()   
   {   
    return highestBid;   
   }   
  }   


2.4 person
  /**   
  * Maintain details of someone who participates in an auction.   
  * @author muhammad irfan   
  * @version 1.0  
  */   
  public class Person   
  {   
   // The name of this person.   
   private final String name;   
   /**   
   * Create a new person with the given name.   
   * @param name The person's name.   
   */   
   public Person(String name)   
   {   
    this.name = name;   
   }   
   /**   
   * @return The person's name.   
   */   
   public String getName()   
   {   
    return name;   
   }   
  }   

Comments

Popular posts from this blog

Percobaan PBO jam digital

Terdapat 2 class untuk membuat digital clock yaitu class digital clock dan clock label, di dalam clock label kita dapat membuat warna, jenis font, tata cara penulisan jam, serta letak nya. 1.digitalclock /** * * * @author muhammad irfan * @version 0.1 */ import java.awt.Font; import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.Timer; import javax.swing.SwingConstants; import java.util.*; import java.text.*; public class DigitalClock { public static void main(String[] arguments) { ClockLabel dateLable = new ClockLabel("date"); ClockLabel timeLable = new ClockLabel("time"); ClockLabel dayLable = new ClockLabel("day"); JFrame.setDefaultLookAndFeelDecorated(true); JFrame f = new JFrame(&q