
Concept explainers
Create a TicketMachine object on the object bench and take a look at its methods. You should see the following: getBalance, getPrice, insertMoney, and printTicket. Try out the getPrice method. You should see a return value containing the price of the tickets that was set when this object was created. Use the insertMoney method to simulate inserting an amount of money into the machine. The machine stores as a balance the amount of money inserted. Use getBalance to check that the machine has kept an accurate record of the amount just inserted. You can insert several separate amounts of money into the machine, just like you might insert multiple coins or bills into a real machine. Try inserting the exact amount required for a ticket, and use getBalance to ensure that the balance Is Increased correctly. As this is a simple machine, a ticket will not be issued automatically, so once you have inserted enough money, call the printTicket method. A facsimile ticket should be printed in the BlueJ terminal window.

Creating a TicketMachine object and using functions of the object class.
Program Plan:
Write a JAVA program to create an object of the class TicketMachine with the main function and the required set of statements to accomplish the following:
Use of the getPrice method to check the return value containing the price of a ticket
Use of insertMoney to inserting money into the machine
Check the balance using getBalance method to keep an accurate record of the money.
Generate a ticket using printTicket method when inserted enough money.
Program Description:
The following JAVA program prompts the user to insert enough money to a TicketMachine before trying to print a ticket.
Explanation of Solution
Program:
// TicketMachine is a working model of the ticket printing machine.
// Through constructor, the price of the ticket is passed.
// For printing tickets, enough money has to be entered into the machine.
class TicketMachine
{
// Cost per ticket.
private int price;
// Customer entered amount.
private int balance;
// The amount present in the machine.
private int total;
// Constructor to take and initialized the price of the ticket.
public TicketMachine(int cost)
{
// Cost of ticket allocated.
price = cost;
//declaring the value of variable
balance =0;
//declaring the value of variable
total = 0;
}
// Gets the ticket price
public int getPrice()
{
//return the value of price
return price;
}
// declaring the nee method .
public int getBalance()
{
//return the value of balance.
return balance;
}
// decaling method for money
public void insertMoney(int amount)
{
//add the balance
balance = balance + amount;
}
//Ticket has to be printed.
// Update the total money present in the machine and change the balance for // next ticket to zero.
public void printTicket()
{
//message for printing of a ticket.
System.out.println(“###################�);
//message for printing of a ticket.
System.out.println(“# The Bluej line�);
//message for printing of a ticket.
System.out.println(“# Ticket�);
//message for printing of a ticket.
System.out.println(“# “+ price + “ cents.�);
//message for printing of a ticket.
System.out.println(“###################�);
//message for printing of a ticket.
System.out.println();
// Total money is update for the machine.
total = total + balance;
// balance is cleared for the next ticket.
balance = 0;
}
}
/&
The main class which has the main method to create and
call the object of the TicketMachine.
*/
public class Main
{
// Main method to call the methods
public static void main(String[] args) {
/**
Creating object 'obj' of class TicketMachine.
and the cost of the ticket = 1000.
*/
TicketMachine obj = new TicketMachine(1000);
// To see the price of the ticket
System.out.println("The price of the ticket = " + obj.getPrice());
// Inserting amount into the TicketMachine.
obj.insertMoney(1000);
// Checking for the balance in the TicketMachine.
System.out.println("Balance = " + obj.getBalance());
/&
Balance should be enough to print the ticket
Assuming that cost of ticket is 1000.
*/
if(obj.getBalance()>=1000)
{
// Print the ticket
obj.printTicket();
}
// Checking the balance is increasing on inserting more money .
obj.insertMoney(100);
System.out.println("New Balance = " + obj.getBalance());
}
}
Want to see more full solutions like this?
Chapter 2 Solutions
Objects First with Java: A Practical Introduction Using BlueJ (6th Edition)
Additional Engineering Textbook Solutions
Problem Solving with C++ (10th Edition)
Java How to Program, Early Objects (11th Edition) (Deitel: How to Program)
Starting Out with Programming Logic and Design (5th Edition) (What's New in Computer Science)
Web Development and Design Foundations with HTML5 (8th Edition)
Mechanics of Materials (10th Edition)
Starting Out with Java: From Control Structures through Data Structures (4th Edition) (What's New in Computer Science)
- Briefly describe the issues involved in using ATM technology in Local Area Networksarrow_forwardFor this question you will perform two levels of quicksort on an array containing these numbers: 59 41 61 73 43 57 50 13 96 88 42 77 27 95 32 89 In the first blank, enter the array contents after the top level partition. In the second blank, enter the array contents after one more partition of the left-hand subarray resulting from the first partition. In the third blank, enter the array contents after one more partition of the right-hand subarray resulting from the first partition. Print the numbers with a single space between them. Use the algorithm we covered in class, in which the first element of the subarray is the partition value. Question 1 options: Blank # 1 Blank # 2 Blank # 3arrow_forward1. Transform the E-R diagram into a set of relations. Country_of Agent ID Agent H Holds Is_Reponsible_for Consignment Number $ Value May Contain Consignment Transports Container Destination Ф R Goes Off Container Number Size Vessel Voyage Registry Vessel ID Voyage_ID Tonnagearrow_forward
- I want to solve 13.2 using matlab please helparrow_forwarda) Show a possible trace of the OSPF algorithm for computing the routing table in Router 2 forthis network.b) Show the messages used by RIP to compute routing tables.arrow_forwardusing r language to answer question 4 Question 4: Obtain a 95% standard normal bootstrap confidence interval, a 95% basic bootstrap confidence interval, and a percentile confidence interval for the ρb12 in Question 3.arrow_forward
- using r language Obtain a bootstrap t confidence interval estimate for the correlation statistic in Example 8.2 (law data in bootstrap).arrow_forwardusing r language Compute a jackknife estimate of the bias and the standard error of the correlation statistic in Example 8.2.arrow_forwardusing r languagearrow_forward
- Programming Logic & Design ComprehensiveComputer ScienceISBN:9781337669405Author:FARRELLPublisher:CengageEBK JAVA PROGRAMMINGComputer ScienceISBN:9781305480537Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENTMicrosoft Visual C#Computer ScienceISBN:9781337102100Author:Joyce, Farrell.Publisher:Cengage Learning,
- EBK JAVA PROGRAMMINGComputer ScienceISBN:9781337671385Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENTProgramming with Microsoft Visual Basic 2017Computer ScienceISBN:9781337102124Author:Diane ZakPublisher:Cengage LearningNp Ms Office 365/Excel 2016 I NtermedComputer ScienceISBN:9781337508841Author:CareyPublisher:Cengage



