
Big Java Late Objects
2nd Edition
ISBN: 9781119330455
Author: Horstmann
Publisher: WILEY
expand_more
expand_more
format_list_bulleted
Question
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.
- Execute “try” statement to handle exception if any,
- Define the method “main()”,
Expert Solution & Answer

Want to see the full answer?
Check out a sample textbook solution
Students have asked these similar questions
You have made the Web solution with Node.js. please let me know what problems and benefits I would experience while making the Web solution here, as compared to any other Web solution you have developed in the past.
what problems and benefits/things to keep in mind as someone just learning
PHP is the server-side scripting language. MySQL is used with PHP to store all the data. EXPLAIN in details how to install and run the PHP/MySQL on your computer. List the issues and challenges I may encounter while making this set-up?
why I asked: I currently have issues logging into http://localhost/phpmyadmin/ and I tried using the command prompt in administrator to reset the password but I got the error LOCALHOST PORT not found.
HTML defines content, CSS defines layout, and JavaScript adds logic to the website on the client side. EXPLAIN IN DETAIL USING an example.
Chapter 12 Solutions
Big Java Late Objects
Ch. 12.1 - Prob. 1SCCh. 12.1 - Prob. 2SCCh. 12.1 - Prob. 3SCCh. 12.1 - Prob. 4SCCh. 12.1 - Prob. 5SCCh. 12.2 - Prob. 6SCCh. 12.2 - Prob. 7SCCh. 12.2 - Prob. 8SCCh. 12.2 - Prob. 9SCCh. 12.2 - Prob. 10SC
Ch. 12.2 - Prob. 11SCCh. 12.2 - Prob. 12SCCh. 12.3 - Prob. 13SCCh. 12.3 - Prob. 14SCCh. 12 - Prob. 1RECh. 12 - Prob. 2RECh. 12 - Prob. 3RECh. 12 - Prob. 4RECh. 12 - Prob. 5RECh. 12 - Prob. 6RECh. 12 - Prob. 7RECh. 12 - Prob. 8RECh. 12 - Prob. 9RECh. 12 - Prob. 10RECh. 12 - Prob. 11RECh. 12 - Prob. 12RECh. 12 - Prob. 13RECh. 12 - Prob. 14RECh. 12 - Prob. 15RECh. 12 - Prob. 1PECh. 12 - Prob. 2PECh. 12 - Prob. 3PECh. 12 - Prob. 4PECh. 12 - Prob. 5PECh. 12 - Prob. 6PECh. 12 - Prob. 1PPCh. 12 - Prob. 2PPCh. 12 - Prob. 3PPCh. 12 - Prob. 4PPCh. 12 - Prob. 5PPCh. 12 - Prob. 6PPCh. 12 - Prob. 7PPCh. 12 - Prob. 8PPCh. 12 - Prob. 9PPCh. 12 - Prob. 10PP
Knowledge Booster
Similar questions
- show all the workarrow_forwardList down the strenghts and weaknesses of your team project for Capsim Simulation? Explan.arrow_forwardCapsim Team PowerPoint Presentations - Slide Title: Key LearningsWhat were the key learnings that you discovered as a team through your Capsim simulation?arrow_forward
- Write the SQL code that permits to implement the tables: Student and Transcript. NB: Add the constraints on the attributes – keys and other.arrow_forwardDraw an ERD that will involve the entity types: Professor, Student, Department and Course. Be sure to add relationship types, key attributes, attributes and multiplicity on the ERD.arrow_forwardDraw an ERD that represents a book in a library system. Be sure to add relationship types, key attributes, attributes and multiplicity on the ERD.arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education

Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education

Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON

C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON

Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning

Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education