EBK BIG JAVA: EARLY OBJECTS, INTERACTIV
EBK BIG JAVA: EARLY OBJECTS, INTERACTIV
6th Edition
ISBN: 8220102010314
Author: Horstmann
Publisher: YUZU
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
Students have asked these similar questions
the nagle algorithm, built into most tcp implementations, requires the sender to hold a partial segment's worth of data (even if pushed) until either a full segment accumulates or the most recent outstanding ack arrives. (a) suppose the letters abcdefghi are sent, one per second, over a tcp connection with an rtt of 4.1 seconds. draw a timeline indicating when each packet is sent and what it contains.
Just need some assistance with number 3 please, in C#
How do we find the possible  final values of variable x in the following program.   Int x=0; sem  s1=1, s2 =0;   CO P(s2); P(s1); x=x*2; V(s1); // P(s1); x=x*x; V(s1); // P(s1); x=x+3; V(s2); V(s1); Oc
Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
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