Thursday, February 16, 2006

Customer.java



      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