1 /**
2 A cash register totals up sales and computes change due.
3 */
4 public class CashRegister
5 {
6 private double purchase;
7 private double payment;
8
9 /**
10 Constructs a cash register with no money in it.
11 */
12 public CashRegister()
13 {
14 purchase = 0;
15 payment = 0;
16 }
17
18 /**
19 Records the purchase price of an item.
20 @param amount the price of the purchased item
21 */
22 public void recordPurchase(double amount)
23 {
24 purchase = purchase + amount;
25 }
26
27 /**
28 Enters the payment received from the customer.
29 @param coinCount the number of coins received
30 @param coinType the type of coin that was received
31 */
32 public void receivePayment(int coinCount, Coin coinType)
33 {
34 payment = payment + coinCount * coinType.getValue();
35 }
36
37 /**
38 Computes the change due and resets the machine for the next customer.
39 @return the change due to the customer
40 */
41 public double giveChange()
42 {
43 double change = payment - purchase;
44 purchase = 0;
45 payment = 0;
46 return change;
47 }
48 }