import java.text.*;
import java.util.*;
public class Customer {
final static double TAXRATE = 0.0825;
private static int nextCustomerNumber;
private int customerNumber;
private ArrayList orderList = new ArrayList();
private Menu menu; // the menu the customer is ordering from
private double total;
public Customer(Menu m) // customer will order from menu m
{
menu = m;
customerNumber = nextCustomerNumber + 1;
nextCustomerNumber++;
}
public int getNumber() {
return customerNumber;
}
public String toString() {
return Integer.toString(customerNumber);
}
public void order(int item) {
// If the menu has N items, someone orders an item using a number
// from 1 through N. Internally, our program will represent these
// using the numbers 0 through N-1.
orderList.add(new Integer(item - 1));
}
public void displayOrder() {
NumberFormat money = NumberFormat.getCurrencyInstance();
for (int i = 0; i < orderList.size(); i++) {
int itemNumber = ((Integer) orderList.get(i)).intValue();
System.out.println(menu.getItem(itemNumber) + "\t" +
money.format(menu.getPrice(itemNumber)));
}
System.out.println();
}
public double getSubtotal() {
double subtotal = 0.0;
for (int i = 0; i < orderList.size(); i++) {
int itemNumber = ((Integer) orderList.get(i)).intValue();
subtotal += menu.getPrice(itemNumber);
}
return subtotal;
}
public double getTax(double subtotal) {
return subtotal * TAXRATE;
}
public double getTotal(double subtotal) {
total = subtotal + getTax(subtotal);
return subtotal + getTax(subtotal);
}
public double returnTotal() {
return total;
}
}
0 Comments:
Post a Comment
<< Home