Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Create Java program to simulate an ATM at a bank. -Use JAVA programming language. - Use multiple Objects with inheritance and/or polymorphism. -Use file input

Create Java program to simulate an ATM at a bank.

-Use JAVA programming language. - Use multiple Objects with inheritance and/or polymorphism. -Use file input and output. -Use a graphical user interface that refreshes when necessary.

The Bank ATM should open in a single window that is exactly of the screen width and height. It should contain a menu bar at the top of the window that allows access to various ATM system functions. The program should only ever exit using the menu bar. The ATM must ask for an ATM Card (a number as input) and an ATM Pin (a number as input) that corresponds to that ATM Card. The ATM must assure proper access (login) before proceeding to the corresponding account information. If a customer is not already in the ATM system they should be able to create an account with a new ATM Card and ATM Pin.

The program must display at least 3 basic functions (withdrawal, deposit, get balance, etc) once a customer is logged-in. A function can be selected by either clicking on the function specific button or accessing the function from the menu items. When a function is selected, the program should look-up the account information from an account history file and update the file based on the function performed. Overall, there is no limit to the number of transactions that can take place during one session of use. Also, there are two withdrawal limits for any account: 1. No more than $1000.00 and 2. No more than 70% of the account balance. At any time the customer can exit the system and be assured of a successful log-out of the system.

User Interface Requirements:

A single JavaFX Stage window with menu bar functionality

The main stage should only close by choosing file->close

The Menu bar should include at least:

File

Options

Help

Buttons that allow functionality for:

Login/Logout

Withdrawal (Quick, or specified amount)

Deposit

Get Balance

Create New Account

Change Pin

Transfer Funds

Requires two ATM Cards and ATM Pins

Print Receipt (Print to File not a printer)

View Transaction History

All of the above functions should be available from user interface buttons as well (not all on the screen at once)

A status bar to show the current transactional history for the current session

A label box above the status bar to show the current account number and current balance that updates as transactions occur

The main GUI should not be re-sizeable.

All items should contain a text-tooltip that describes the item.

Operational Requirements:

There must be an entire Bank history file to track all accounts and number of transactions (Bank.txt)

The entire bank file should be formatted in the following way:

ATM Card#<>ATM Pin<< comma >>number of all transactions

There must be an account history file for each created account (acct###.txt)

The individual account files should be formatted in the following way:

ATM Card#<>ATM Pin#<> Balance<<comma>>Transaction

All account data should be looked-up from the corresponding account file

There should be protection to ensure enough funds are always available to perform a Withdrawal.

After all session transactions (a logout action) the system should provide a receipt (print to a file) to the user.

This should be an output file named receipt-MM-DD-YY.txt

It should be saved to the folder where the program is running.

No JAVA threads are necessary.

Bank ATM must contain at least one exception handler.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Horse Betting The Road To Absolute Horse Racing 2

Authors: NAKAGAWA,YUKIO

1st Edition

B0CFZN219G, 979-8856410593

More Books

Students also viewed these Databases questions

Question

2. What process will you put in place to address conflicts?

Answered: 1 week ago