Menu
Methods:
• Unlike all of the other classes in this project, all of Menu's methods
are static! All methods in all other classes are non-static.
• makeBubbleTea(String, Tea, Milk, Flavoring, int, Topping, boolean).
Returns a BubbleTea object based on these specifications. Returns null
if the method parameters don't make sense (good opportunity for a
try-catch...).
• getSpecial(String, int): takes in the size and special number and returns
a BubbleTea object of that size and that special from the menu (see
page 2 of this document). Throw an IllegalArgumentException if either
of the arguments don't make sense.
• getSpecials(): returns a String representation of all of the available
specials (i.e. the menu from page 2).
Receipt
Fields:
• receiptNumber: the id number of this receipt. The first receipt a Cashier
generates is 1 and each following receipt increases by 1.
• cashier: the Cashier object representing the person who handled this
transaction. Cannot be null.
• tea: the BubbleTea object that was purchased. Cannot be null.
• subtotal: The cost of the BubbleTea itself, as calculated by adding the
standard size cost with any added costs of components.
• tax: calculated at 6% of the subtotal
• tip: the amount tipped by the customer. If a customer chooses to tip
X%, this will be X% of the subtotal plus tax.
• total: a sum of the subtotal, tax, and tip.