You are to program a virtual ATM machine using Java. The client wants a GUI for its virtual ATM. The program will allow a user to enter their personal pin number (only 4 numbers allowed from 0001 to 9999).
The user then must choose which account they would like to make a transaction: Savings Account or Checking Account, or Loan Payment (such as a mortgage, a car loan, or a student loan). If the user chooses a savngs account, then the allowed transactions are either to add money to the saving account, or to withdraw money from the savings account.
A balance must be given to the user at the end of the transaction. Assume that the user has a starting balance of $4000 in each of their checking and savings accounts. Error trapping: if a balance goes below $200, then an alert to the user will be issued.
For the loan payments, the user is to choose whether the loan is for a mortgage, a student loan, an auto loan, or a personal loan. For Mortgage: assume $350,000 balance and payment of $3500 per month; For Student Loan: assume $75,000 balance and payment of $250 per month; For Auto Loan, assume $35,000 balance and payment of $500 per month; For Personal Loan, assume $5,000 and payment of $1000 per month.
Test data: for savings account in order: deposit $2000, deposit $1500, withdraw $2500, final balance Test data for checking account in order: checks (in order) made in the amount of $120, $40, $700, $50, $1000, final balance.
Test data for loan payment(s): see above and provide for at least two payments.