Langsung ke konten utama

Tugas 3 PBO A

Hey guys! This time I have been working on making my own Ticket Machine using BlueJ.
I am using 2 classes, which is Main and TicketMachine.
  1. TicketMachine

     /*  
      * This class contains the declaration of the Ticket Machine we are going to use..  
      *  
      * @author (Elkana Hans Widersen)  
      * @version (17/9/2018)  
      */  
     import java.util.Scanner;  
       
     public class TicketMachine{   
       Scanner scan = new Scanner(System.in);  
       // 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 amount of tickets about to be printed.  
       private int ticket;  
       // 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;  
         ticket = 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 int insertMoney(int amount){  
         balance = balance + amount;  
         return balance;  
       }   
       /*   
        * Print a ticket.   
        * Update the total collected and   
        * reduce the balance to zero.   
        */   
       public int printTicket(int ticket){   
         // Simulate the printing of a ticket.  
         for(int i = 0; i < ticket; i++){  
           System.out.println("======================");   
           System.out.println("The BlueJ Line Ticket");    
           System.out.println("Price: Rp " + price + ",00");  
           System.out.println("======================\n");  
         }  
         // Update the total collected with the balance.   
         total = total + balance;   
         // Clear the balance and the ticket.   
         balance = balance - (ticket * price);  
         return balance;  
       }   
     }  
    
  2. Main

       
     /*  
      * This is where the main operation works.  
      *  
      * @author (Elkana Hans Widersen)  
      * @version (17/9/2018)  
      */  
     import java.util.Scanner;   
     public class main{   
       public static void main(String args[]){   
         Scanner scan = new Scanner(System.in);   
         int cost, menu, balance = 0;  
         int amount = 0;  
         boolean printed = false;  
         System.out.print("Input the ticket price: Rp ");   
         cost = scan.nextInt();  
         TicketMachine ticket = new TicketMachine(cost);  
         System.out.println();  
         while(true){   
           System.out.println("1. Get Price");  
           System.out.println("2. Get Balance");   
           System.out.println("3. Insert Money");   
           System.out.println("4. Print Ticket");  
           System.out.println("5. Exit\n");  
           System.out.print("Your input: ");  
           menu = scan.nextInt();   
           switch(menu){   
             case 1:   
             cost=ticket.getPrice();   
             System.out.println("Price: Rp " + cost + ",00\n");   
             break;   
             case 2:   
             balance = ticket.getBalance();  
             System.out.println("Balance: Rp " + balance + ",00\n");  
             break;   
             case 3:   
             int money = scan.nextInt();   
             balance = ticket.insertMoney(money);   
             break;   
             case 4:  
             System.out.print("Total tickets: ");  
             amount = scan.nextInt();  
             if(balance >= (amount * cost)){  
               balance = ticket.printTicket(amount);  
               printed = true;  
             }  
             else{  
               System.out.println("Balance insufficient. Please insert enough balance to proceed.\n");  
             }  
             break;  
             case 5: break;  
           }  
           if(menu == 5) break;  
         }  
         System.out.println("\nThank you for using BlueJ Line!\n");  
         System.out.println("Your balance: Rp " + balance + ",00");  
       }   
    }
    
    Using those codes above, it will look like this:


Thank you and see you next time!

Komentar

Postingan populer dari blog ini

Tugas PBO Auction Simulator

Hey, guys! Today I'm so excited to show you how to implement an Auction Simulator into Java. We are going to use 4 classes, which are: Auction Bid Lot Person You can check the source code of each classes below before we try to execute this program. Auction /** * A simple model of an auction * * @author Elkana Hans Widersen * @version 02.10.2018 */ import java.util.ArrayList; 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; /** * Creates a new auction. */ public Auction() { lots = new ArrayList<Lot>(); nextLotNumber = 1; } /** * Enters a new lot into the auction. * @param description = A description of the lot. */ public void enterLot(String description) { lots.add(n

Fox and Rabbit Simulator

Hi guys! I'm going to show you a Fox and Rabbit Simulator made in BlueJ. We're going to use these classes Simulator SimulatorView Location Field FieldStats Counter Randomizer Rabbit Fox Here is the source code of those classes: Simulator import java.util.Random; import java.util.List; import java.util.ArrayList; import java.util.Iterator; import java.awt.Color; /** * A simple predator-prey simulator, based on a rectangular field * containing rabbits and foxes. * * @author Elkana Hans Widersen * @version 1.0 */ public class Simulator { /** * Constants representing configuration information for the simulation. */ private static final int def_width = 50; // The default width for the grid. private static final int def_depth = 50; // The default depth of the grid. private static final double foxProbability = 0.02; // The probability that a fo