This program will have VERY specific requirements so please read every sentence carefully.
1. There will be 3 classes. The Main class will be attached to this email. The only thing you are allowed to modify in this file is the package name. Everything else should not be changed.
2. There will be a Bank class which you will create. This class has a public instance method which is named "start" and accepts no arguments. The start method will be called repeatedly and will continued to be called until the statement "[url removed, login to view](0);" is executed. So once the start method reaches the end, it will be called again. You can test how this works by printing something on the screen in the start method.
3. There will also be an Account class. The Account class will keep track of the first name, last name, balance, and whether or not the account is closed.
4. The Bank class will have three Account objects in it named acct1, acct2, and acct3(NO arrays).
5. Your program will display a menu screen with 5 options. The first option will allow you to create a new Account. The second option will allow you to deposit money. The third will allow you to withdraw money. The fourth will allow you to close an account. The fifth will quit the program.
6. When you create an account you will ask for the first name. If the user enters only his or her first name then the program will store it and ask for the last name. If the user "accidentally" enters their full name ( If there is a space character in the input) then the program will split the name and store the information in the appropriate variables(it will not ask for the last name if this is the case). The program will then ask the starting balance of the account. You will store the first account in acct1, then acct2, then acct3. Variables of closed accounts can be used to create new accounts. Variables of open accounts CANNOT be used as new accounts.
7. When the user chooses the deposit option, the program will display all of the accounts that have been created. You will display the last name first, then a comma first name then a tab. then the balance Here is an example:
1. Arshad, Umar 200.0
The program will not display the accounts if they are closed or have not yet been created. Display an error message if there are no accounts open. The user will be asked to choose an account where they want to make a deposit. The program will then ask for the amount that will be deposited. We assume that the user will enter the correct values when asked for the amount. This value will be added to the balance of that account. You cannot deposit into a closed account.
8. Withdraw is the same as the deposit except the amount will be subtracted from the balance.
9. Closing the account will modify the variable which stores whether or not the account is open. This option will NOT set the account variable to null. You will display the accounts in the same way you did with the deposit. You cannot close an account if there is a positive or negative balance. You can only do it if the balance is 0.
10. The fifth option allows you to end the program. You can end the program by using the "[url removed, login to view](0);" statement.
11. Email me your .java file for the Bank and Account class with the Subject "Homework 4". Send me the files in a separate email. Print out and turn in your code as well.