Java Atm Machine

  1. Java Atm Program
  2. Java Source Code Atm Machine
  3. Java Atm Machine Program
  1. This ATM System was my student's work for Computer Programming 2 defense as their final requirements for this Java GUI Programming Subject. This ATM System was programmed through Java GUI and MS Access 2003 as database. This system features: - Login Verification - Account Registration - Balance Inquiry - Transfer Amount to other accounts - Deposit.
  2. PDF On Dec 15, 2014, Syed Hasan and others published ATM MACHINE PROGRAMMING WITH JAVA. This assignment is based on developing an ATM (Automated Teller machine) using “ Java.
  3. ATM Simulation Code. When this example was first developed (in 1996), the implementation was done in C, using the curses package to produce a screen display that looks something like the machine being modelled. More recently (1997), it has been re-implemented using Java, with a full GUI interface.
  4. Related Java Topics beta. Atm Machine - I Need An Idea About Writing A Code Plays Atm Machine; ATM Machine Camera Capturing Application; Please Help Me In My Simple ATM Machine Using BufferedReader. ATM Machine Program; ATM Machine Program Help! Java Atm Machine Program Problem; Question On How To Simulate The Atm Machine,is It Possible?
  5. I am working on an ATM machine project for my college class. It's in its early stages but here what I have so far. /. @author Ty./ import java.util.Scanner; public class Main private double currentBal =1000; Scanner input = new Scanner(System.in); public void mainMenu int selection.
Active3 years, 7 months ago

I'm doing an atm program and I'm having a hard time trying to figure out how to get it to actually deposit and withdraw. The balance starts off automatically as $0 but I can't get anything I type in to actually add on or subtract to it what am I doing wrong? ATM: Automated Teller Machine. The full form of ATM is Automated Teller Machine. ATM is an electro-mechanical machine that is used for making financial transactions from a bank account. These machines are used to withdraw money from personal bank accounts.

I have been trying to figure out what is going wrong with this program I'm writing. Heres the full description of what I'm trying to do:Use the Account class created in Programming Exer- cise 9.7 to simulate an ATM machine. Create ten accounts in an array with id 0, 1, . . . , 9, and initial balance $100. The system prompts the user to enter an id. If the id is entered incorrectly, ask the user to enter a correct id. Once an id is accepted, the main menu is displayed as shown in the sample run. You can enter a choice 1 for viewing the current balance, 2 for withdrawing money, 3 for depositing money, and 4 for exiting the main menu. Once you exit, the system will prompt for an id again. Thus, once the system starts, it will not stop.

The program now only displays the default $100 after each purchase. I've realized the problem is that my accounts are being recreated each time after a transaction. My question is basically what can I do or where can I rewrite the account creation so I avoid this problem. I'm new to programming so I'm still struggling. Thanks in advanced.

EDIT: When I go to check balance it will re loop me back to the scanners for id and choice. I'm not sure what the problem is here, can someone try to run my code or give me some insight on what might be the problem. Thanks. The program is supposed to be able to go through any choice of transactions, simulating an ATM machine, the id being a number between 0-9. Here is the new updated code.

import java.util.Scanner;

Jake
JakeJake

5 Answers

so you can do it like this bro:

now the Object lives outside of the method, so when the method closes out it won't destroy the object. The accounts will persist and you should be able to do what you're looking to do from there.

I had the same problem a while back where I had data getting all hosed up in an arraylist. I had the Object declared at the class level, and it was existing in every loop of my For statement causing doubled up entries in the list. I moved it inside the For statement and realized that every time the For statement finished a loop it would destroy the object and reinstantiate it.

Give this a try, I think it should get rid of the problem with the account object being recreated every time you invoke the mainMenuOptions() method.

If you're worried about memory overages in bigger applications you can also do it like the other poster was talking about by creating it in the main like so

in this version you've created the object to live inside the main method. here I instantiated the object and passed it as an argument to mainMenuOptions. This way if you decide that you don't want this to be globally available to all sub methods within main, you can now make it live within the space of the main method only and use it as an argument where necessary.

Both of these solutions will work. My first suggestion is the quick and dirty since it's a small program. However, in larger programs you may want to use the second method to prevent the object from being available for use in other methods contained within the class.

Tom L'esperanceTom L'esperance
3171 gold badge3 silver badges14 bronze badges

You are recursively calling mainMenuOptions() each time your 'transaction' completes. This function recreate all accounts every time.

You should create the accounts just one time, preferably on a separate function called outside mainMenuOptions(), after the main invocation and before the mainMenuOptions(). To do so, you'll have to make the accounts array a property of your main class (test) or pass it to the mainMenuOptions().

Paulo AraújoPaulo Araújo

Try to Move your accounts object outside outside of the mainmenuoptions method and declare it under the class.

your object gets destroyed at the end of the method after it's called.

Tom L'esperanceTom L'esperance
3171 gold badge3 silver badges14 bronze badges

You are calling mainMenuOptions() which will make all the accounts initialize back to $100.

I suspect you wish to keep the program running and you are trying to achieve so by calling mainMenuOptions() no matter what.

To keep the program running, try to:

  • initialize the accounts outside of mainMenuOptions(), in a separate method that get's called once.
  • Then actually call the main method where you receive an option from the user, and exit only when the user inputs an Exit option - 4
Atm

example:

You can try something like this. The idea is to keep asking the user for an option until he decides to leave. You can adapt to your needs.

edit:

IvoIvo

ok, so I finally got annoyed enough to load your code and look at it. Now this looks like a homework assignment so I'm not going to post the solution because you're going to be a shitty coder if you don't know how to solve these things yourself. So I'm going to give you a huge hint.

look at your commented line under where you created the accounts. You made a For loop down there.

I want to ask you something, if I call mainMenuOptions and run this segment of code, what happens when I reach this loop the next time I run this method?

think about that, You'll quickly realize why you're having problems. You'll still have to place the account object outside of mainMenuOptions to prevent the accounts from being destroyed, but you're also going to have to do something with that initialization loop.

Run your code after moving the accounts outside to the class level, and try playing with 2 of the accounts by making a deposit, switching accounts, make a deposit, switch back to the first account and make a balance inquiry.

insert a break point at that initialize account balance portion of your code if you're still having trouble. I'm pretty positive you'll slap yourself in the forehead and yell 'wtf was I thinking?'

I got faith in you man. You got this. hit me back if you need another hint.

On a side note, make sure you make the accounts object static too when you place it under class. Can't have a static reference a dynamic object. The IDE will bark at you. EX:

Tom L'esperanceTom L'esperance
3171 gold badge3 silver badges14 bronze badges

Not the answer you're looking for? Browse other questions tagged javaarraysmethods or ask your own question.

Here, you will get the answer of following ATM related questions: what is the full form of ATM, what does ATM stand for, what is the meaning of ATM, how ATM works and what does ATM.

ATM : Automated Teller Machine

The full form of ATM is Automated Teller Machine. ATM is an electro-mechanical machine that is used for making financial transactions from a bank account. These machines are used to withdraw money from personal bank accounts.

This makes banking process very easy because these machines are automatic and there is no need of human cashier for transaction. The ATM machine can be of two types; one with basic functions where you can withdraw cash and another one with more advanced functions where you can also deposit cash.

Basic ATM Parts

The ATM is a user-friendly machine. It features various input and output devices to enable people easily withdraw or deposit money. The basic input and output devices of an ATM are given below:

Java Atm Program

Input Devices:

Java Source Code Atm Machine

Card Reader: This input device reads the data of the card which is stored in the magnetic strip on the back side of the ATM card. When the card is swiped or inserted into the given space the card reader captures the account details and passes it to the server. On the basis of account details and the commands received from the user server allows cash dispenser dispense the cash.

Keypad: It helps the user to provide the details asked by the machine like personal identification number, amount of cash, receipt required or not, etc. The PIN number is sent in the encrypted form to the server.

Output Devices:

Speaker: It is provided in the ATM to produce the audio feedback when a key is pressed.

Display Screen: It displays the transaction related information on the screen. It shows the steps of cash withdrawal one by one in sequence. It can be a CRT screen or a LCD screen.

Receipt Printer: It provides you the receipt with details of transactions printed on it. It tells you date and time of transaction, the withdrawal amount, balance, etc.

Cash Dispenser: It is the main output device of the ATM as it dispenses the cash. The high precision sensors provided in the ATM allows cash dispenser to dispense the correct amount of cash as required by the user.

How ATM works

To start the functioning of ATM, you have to insert plastic ATM cards inside the ATM machines. In some machines you have to drop your cards, some machines allows swapping of cards. These ATM cards contain your account details and other security information in the form of a magnetic strip. When you drop/swap your card, machine gets your account information and asks for your PIN no. After the successful authentication, machine will allow financial transactions.

What ATM does

Java Atm Machine Program

Now a day, ATM has a lot of functionalities along with its basic use of cash dispensing. Some of them are:

  • Cash and cheque deposit
  • Fund transfer
  • Cash withdrawal and balance enquiry
  • PIN change and mini statement
  • Bill payments and mobile recharge etc.

The first ATM was used to dispense cash for customers by Chemical bank at New York (USA) in 1969.

Note: PIN is a 4 digit security number provided by the bank with the ATM card. PIN number is changeable, you can change it according to your convenience.

Important/Interesting Facts about ATM

Inventor of ATM: John Shepherd Barron.

ATM Pin Number: John Shepherd Barron thought to keep a 6 digits pin number for the ATM, but it was not easy for his wife to remember a 6 digits pin so he decided to prepare a 4 digits ATP pin number.

World's first floating ATM: State Bank of India (Kerala).

First ATM in India: Installed by HSBC (Hongkong and Shanghai Banking Corporation) in 1987.

First ATM in the World: It was installed on 27 June 1967 at the Barclays Bank of London.

Machine

First Person to use ATM: The famous comedy actor Reg Varney was the first person to withdraw cash from the ATM.

ATM without an Account: In Romania, which is a European country, one can withdraw money from an ATM without having a bank account.

Biometric ATM: Biometric ATM is used in Brazil. As the name suggests, the user is required to scan his or her fingers at these ATMs before withdrawing money.

World's Highest ATM: It is installed in Nathu-La mainly for the army personals. Its height is 14,300 feet above sea level and is operated by Union Bank of India.

ATM Machine and ATM

Let's see the image of ATM machine.

Let's see the image of ATM card.

Next TopicBBA Full Form