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
Analyze the charts and introduce each charts by describing each. Identify the patterns in the given data. And determine how are the data points are related.   Refer to the raw data (table):
3A) Generate a hash table for the following values: 11, 9, 6, 28, 19, 46, 34, 14. Assume the table size is 9 and the primary hash function is h(k) = k % 9. i) Hash table using quadratic probing ii) Hash table with a secondary hash function of h2(k) = 7- (k%7) 3B) Demonstrate with a suitable example, any three possible ways to remove the keys and yet maintaining the properties of a B-Tree. 3C) Differentiate between Greedy and Dynamic Programming.
What are the charts (with their title name) that could be use to illustrate the data? Please give picture examples.
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