Big Java Late Objects
Big Java Late Objects
2nd Edition
ISBN: 9781119330455
Author: Horstmann
Publisher: WILEY
Question
Book Icon
Chapter 12, Problem 6PE
Program Plan Intro

  Modified implementation of the classes in the ATM simulation

Program plan:

  • In the file BankAccount.java”, create a class BankAccount”,
    • Declare the variable.
    • Define the constructor to create a bank account with “0” balance.
    • Define the parameterized constructor to create a bank account with a given balance.
    • Define the method “deposit()” to credit amount into the bank account.
    • Define the method “withdraw()” to debit amount from the bank account.
    • Define the method “getBalance()” to get the current balance of the bank account.
  • In the file Customer.java”, create a class Customer”,
    • Define the constructor to construct a customer with a given number and PIN.
    • Define the method “match()” to check if this customer matches a customer number and PIN.
    • Define the method “getCheckingAccount()” to get the checking account of this customer  .
    • Define the method “getSavingsAccount()” to get the savings account of this customer.
  • In the file Bank.java”, import necessary packages, and create a class Bank”,
    • Declare the necessary array lists.
    • Define the constructor to construct a bank with no customers and no accounts.
    • Define the method “readCustomers()” to read the customer numbers and pins and initializes the bank accounts.
    • Define the method “findCustomer()” to find a customer in the bank.
  • In the file ATM.java”, create a class ATM”,
    • Declare and initialize necessary variables.
    • Define the constructor to construct an ATM for a given bank.
    • Define the method “reset()” to reset the ATM to the initial state.
    • Define the method “setCustomerNumber()” to set the current customer number and sets state to PIN.
    • Define the method “selectCustomer()” to find customer in bank. If found sets state to ACCOUNT, else to START.
    • Define the method “selectAccount()” to set current account to checking or savings. Set state to TRANSACT.
    • Define the method “withdraw()” to withdraw amount from current account.
    • Define the method “deposit()” to deposit amount to current account.
    • Define the method “getBalance()” to get the balance of the current account.
    • Define the method “back()” to moves back to the previous state.
    • Define the method “getState()” to get the current state of this ATM.
  • In the file ATMSimulator.java”, import necessary packages, and create a class “ATMSimulator”,
    • Define the method “main()”,
      • Execute “try” statement to handle exception if any,
        • Crate an object for “Bank”.
        • Call the method “readCustomers” to read the input file.
        • Create “ATM” object.
      • Catch and handle the exception if any.
      • Create “Scanner” class.
      • Execute the following or true,
        • If it is START state, get the customer number.
        • Otherwise, If it is PIN state, get the pin.
        • Otherwise, if it is ACCOUNT state, get the type of account.
        • Otherwise, if it is TRANSAC state, perform the type of transaction.

Blurred answer
Knowledge Booster
Background pattern image
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education