Assignment 2 Bank Simulation
Maximum Points = 50
The purpose of this lab is to introduce you to the Stack data structure and Generics. In this lab you will write a computer simulation* to represent a new style of bank. Unlike most banks, this one has decided that the last customer to arrive will always be the first to be served. [There is only one teller and one line with the front of the line facing the teller and the door.]
==================
| Cust5 Cust4 Cust3 ||
TELLER | ==================
|
Assume that the Teller processes one customer every three minutes. If a new customer arrives and the Teller is NOT helping a customer, then the customer goes directly to the teller. If there is a customer being server by the Teller, then the new customer goes to the FRONT of the line (and everyone else moves back).
You will need to create classes that represent information about a bank customer and a transaction. For each customer, you will need to store the customer name, current balance, and a reference to the transaction. For each transaction, you need to store the transaction type (deposit, withdrawal, or get balance), and the amount of transaction.
Your program will read in the data from a file customers.csv (Comma-Separated File) consisting of the arrival time of the customer (in minutes since the bank opened), a customer name, current balance, transaction type, amount of transaction.
2, John Doe, 2345.75, D, 100.00
3, Sue Smith, 546.65, G, 0.0
5, Ima Programmer, 1343.54, W, 250.00
After each customer is processed, print a record of the transaction (time, name, balance).
Stop when there are no more customers.
I will provide you with the stack package based on Chapter 3 and Appendix F.
(Due before class on Thursday, February 4, 2010) Submit a .doc file containing a UML class diagram for all the classes used in your program.
(Due before class on Thursday, February 11, 2010) Submit your .java files containing your program.
Grades are determined using the following scale:
Grading Rubric (Word document)
* A computer simulation, a computer model or a computational model is a computer program that attempts to simulate an abstract model of a particular system. [http://en.wikipedia.org/wiki/Computer_model]