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

Tugas 2 PBKK

Membuat homepage, contact page, dan about page dengan framework Codeigniter Codeigniter adalah salah satu framework yang digunakan untuk membuat sebuah web app. Framework ini menggunakan metode MVC (Model, View, dan Controller). Untuk menggunakan framework ini, diperlukan xampp(windows) atau aplikasi sejenis, untuk menjalankan apache engine. Berikut adalah webpage yang saya buat : Home Page   Contact Page   About Page  

Tugas 1 Pemrograman berbasis kerangka kerja

1.      Framework yang pernah dipakai a.       Laravel b.      Django 2.      Alasan memakai a.       Laravel Ø   Kelebihan o    Bersifat open-source Laravel merupakan framework bersifat gratis( open-source ) yang dapat digunakan baik dalam pengerjaan proyek asli maupun proyek percobaan. o    Dapat menggunakan template Laravel memiliki template engine bernama Blade dimana dengan template ini frontend developer tidak harus belajar PHP secara langsung. Blade templating juga memudahkan untuk menggunakan beberapa template di template lainnya dengan konsep. Jadi proses development menjadi semakin cepat, efisien, dan bisa dikerjakan oleh banyak orang. o    Dapat menggunakan Composer Composer dapat mengimplementasikan package dari pihak lain ke dalam projek kita dengan gampang menggunakan fitur autoloading dari composer, maka cl...

Tugas 1 Rekayasa Kebutuhan

Sistem Presensi Online ITS ( presensi.its.ac.id) Nama : Muhammad Irfan Syaifur RIzal Wiratama NRP : 5111640000156 1.            Deskripsi Sistem          Presensi Online ITS merupakan sistem informasi yang menangani kehadiran mahasiswa dalam suatu perkuliahan, Presensi dapat diakses oleh Dosen dan Mahasiswa melalui web maupun mobile       Proses penggunaannya pertama mahasiswa harus login terlebih dahulu menggunakan NRP dan password sesuai dengan akun integra. Setelah login berhasil, siswa dapat memasukkan kode presensi pada akun masing-masing. Jika kode sesuai maka status kehadiran perkuliahan berubah dari alpa menjadi hadir.      Selain untuk mendata kehadiran, sistem presensi juga membantu mahasiswa untuk mengecek jadwal kelas dan ruangan dari tiap mata kuliah yang diambil. Aplikasi ini juga membantu Dosen untuk memastikan kehadiran mahasiswa ...