Ticket Machine

Ticket Machine

Ticket Machine adalah mesin yang melayani penjualan tiket kereta api. Di dalamnya terdapat program yang mengatur harga tiket, kembalian uang, dan mencetak receipt sebagai bukti pembelian.
Berikut adalah programnya :

1. Source Code Ticket Machine

 /**  
  * Write a description of class TicketMachine here.  
  *  
  * @author (Yuki Yanuar Ratna)  
  * @version (17 Sept 2018)  
  */  
 public class TicketMachine   
 {   
   // The price of a ticket from this machine.   
   private int price;   
   // The amount of money entered by a customer so far.   
   private int balance;   
   // The total amount of money collected by this machine.   
   private int total;   
   /**   
   * Create a machine that issues tickets of the given price.   
   * Note that the price must be greater than zero, and there   
   * are no checks to ensure this.   
   */   
   public TicketMachine(int ticketCost)   
   {   
      price = ticketCost;   
      balance = 0;   
      total = 0;   
   }   
   /**   
   * Return the price of a ticket.   
   */   
   public int getPrice()   
   {   
      return price;   
   }   
   /**   
   * Return the amount of money already inserted for the   
   * next ticket.   
   */   
   public int getBalance()   
   {   
     return balance;   
   }  
   /**   
   * Receive an amount of money in cents from a customer.   
   */   
   public void insertMoney(int amount)   
   {   
     if (amount > 0)  
     {  
       balance = balance + amount;  
     }  
     else  
     {  
       System.out.println("Use a positive amount rather than: "+amount);  
     }  
   }   
   /**   
   * Print a ticket.   
   * Update the total collected and   
   * reduce the balance to zero.   
   */   
   public void printTicket()   
   {   
     if (balance>=price)  
     {  
       System.out.println("##################");   
       System.out.println("# The BlueJ Line");   
       System.out.println("# Ticket");   
       System.out.println("# " + price + " cents.");   
       System.out.println("##################");   
       System.out.println();   
       // Update the total collected with the balance.   
       total = total + balance;   
       // Clear the balance.   
       balance = balance-price;   
       if (balance==0)  
       {  
         System.out.println("No change given");  
       }  
       else  
       {  
         System.out.println("Amount to refund : " +balance+ "");  
       }  
     }  
     else  
     {  
       System.out.println("You must insert at least: "+ (price-balance) +" more cents.");  
     }  
   }  
   public int refundBalance()  
   {  
     int refund;  
     refund = balance;  
     return refund;  
   }  
 }  

2. Source Code IntMain

 /**  
  * Write a description of class IntMain here.  
  *  
  * @author (your name)  
  * @version (a version number or a date)  
  */  
 //Main   
 import java.util.Scanner;   
 public class IntMain   
 {   
    public static void main(String args[])   
    {   
      Scanner scan= new Scanner(System.in);   
      int cost,menu,refund;   
      System.out.println("Masukkan harga tiket:\n");   
      cost=scan.nextInt();   
      TicketMachine ticket=new TicketMachine(cost);  
      System.out.println("1. Get Price");   
      System.out.println("2. Get Balance");   
      System.out.println("3. Insert Money");   
      System.out.println("4. Print Ticket");   
      menu=scan.nextInt();   
      switch(menu)   
      {   
        case 1:   
        cost=ticket.getPrice();   
        System.out.println(cost);  
        refund = ticket.refundBalance();  
        System.out.println(refund);  
        break;   
        case 2:   
        ticket.getBalance();   
        break;   
        case 3:   
        int money=scan.nextInt();   
        ticket.insertMoney(money);   
        break;   
        case 4:   
        ticket.printTicket();   
        break;   
      }   
    }   
  }   

3. Input
4. Output
Semoga bermanfaat.

Komentar

  1. Nice post. I learn one thing more difficult on different blogs everyday. It would at all times be stimulating to read content from different writers and apply slightly one thing from their store. I’d desire to make use of some with the content material on my weblog whether or not you don’t mind. Natually I’ll offer you a link on your net blog. Thanks for sharing. online gambling

    BalasHapus

Posting Komentar

Postingan populer dari blog ini

Tugas Membuat Jam Digital

Codeigniter "Toko Buah"

Personal Web