Assignment:
This assignment will consist of fourmethods in addition to the main method. You will be writing a program to keep track of a bank account as each transaction takes place. You will not be keeping track of a history of transactions.
Class name is: Bank
Method names are: deposit, withdraw, balance, report
You must use the above four methods but you may use any additional methods that you determine are needed.
Requirements
Main method
Shall prompt the user for a banking transaction of deposit, withdraw, balance enquiry, or month end report with a single character of D,W,B, or R.
Shall execute one of the four designated methods based on the transaction selected.
Shall prevent the user from entering an invalid value for the prompt.
Shall provide the user a prompt to exit the program using an X.
Shall continue to prompt until the user selects X to exit.
Deposit method
shall prompt the user for a dollar amount to deposit into their account.
Shall print the beginning balance at the time of the transaction.
Shall print the ending balance at the end of the transaction.
Shall print the amount of the deposit.
Shall prevent the user from depositing a negative amount.
Shall require the user to deposit a floating point value.
Shall continue to prompt until a valid entry is provided or the user exits the transaction by typing an X at the prompt.
withdrawmethod
shall prompt the user for a dollar amount to withdraw from their account.
Shall print the beginning balance at the time of the transaction.
Shall print the ending balance at the end of the transaction.
Shall print the amount of the withdrawal.
Shall prevent the user from withdrawing an amount that will give them a negative balanced.
Shall require the user to withdraw a floating point value.
Shall continue to prompt until a valid entry is provided or the user exits the transaction by typing an X at the prompt.
balancemethod
Shall display the current balance of the bank account.
Reportmethod
Shall display the beginning balance of the period.
Shall display the current balance of the bank account.
Shall display the maximum balance of the period.
Shall display the minimum balance of the period.
Notes and warnings:
Global class variables work well for this program.
Your grade will be reduced if you use global variables as parameters.
You must be able to accept upper and lower case letters as input.
All displays shall have a $ sign and two decimal points of accuracy. EX: $123.45
Your starting balance is $1000.00
Output Example
Your output should look like the following example, but it will have different numeric values (based on your input)
Welcome to First Interstellar Bank
(D) Deposit
(W) Withdraw
(B) Balance Enquiry
(R) Monthly Report
(X) Exit
Please select a transaction => d
Please enter your deposit amount => $100.00
Beginning Balance: $ 1000.00
Transaction: $ 100.00 (+)
Ending Balance: $ 1100.00
(D) Deposit
(W) Withdraw
(B) Balance Enquiry
(R) Monthly Report
(X) Exit
Please select a transaction => 111.11
Invalid input "111.11" please try again
(D) Deposit
(W) Withdraw
(B) Balance Enquiry
(R) Monthly Report
(X) Exit
Please select a transaction => w
Withdraw selected
Please enter your withdrawal amount => $111.11
Beginning Balance: $ 1100.00
Transaction: $ -111.11 (-)
Ending Balance: $ 988.89
(D) Deposit
(W) Withdraw
(B) Balance Enquiry
(R) Monthly Report
(X) Exit
Please select a transaction => b
Current Balance: $ 988.89
(D) Deposit
(W) Withdraw
(B) Balance Enquiry
(R) Monthly Report
(X) Exit
Please select a transaction => r
End of Banking Period Report
Beginning Balance: $ 1000.00
Maximum Balance: $ 1100.00
Minimum Balance: $ 988.89
Current Balance: $ 988.89
(D) Deposit
(W) Withdraw
(B) Balance Enquiry
(R) Monthly Report
(X) Exit
Please select a transaction => x