java編寫簡(jiǎn)單的ATM存取系統(tǒng)
新手練手必備~
密碼賬戶為:

先創(chuàng)建賬戶類:
package cn.Atm;
/**
* @author 偶my耶
*/
import java.io.*;
import com.project.project;
public class Account {
private String number=null;
private String name=null;
private String password=null;
private double money=0.0;
public Account(String number,String name,String password,double money){
this.number=number;
this.name=name;
this.password=password;
this.money=money;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
protected void sub_Balance(double mon) {
money-=mon;
}
protected void add_Balancen(double mon) {
money+=mon;
}
}
然后建立操作類:
里面包含各種操作方法:
package cn.Atm;
/**
* @author 偶my耶
*/
import java.io.*;
import com.project.project;
public class ATM {
Account act;
public ATM(){
act=new Account("0000", "test", "0000", 2000);
}
/*************歡迎界面*********************/
protected void Welcome(){
String str="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
System.out.print(str+"\n");
System.out.print(
"1.取款"+"\n"+
"2.查詢"+"\n"+
"3.存款"+"\n"+
"4.退出"+"\n"
);
System.out.print(str+"\n");
}
/************登陸系統(tǒng)********************/
protected void Load_Sys() throws Exception{
String card,pwd;
int counter=0;
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
do{
System.out.println("請(qǐng)輸入你的卡號(hào)");
card=br.readLine();
System.out.println("請(qǐng)輸入你的密碼");
pwd=br.readLine();
if (!isRight(card,pwd)) {
System.out.println("你的卡號(hào)或密碼有誤");
counter++;
}
else {
Welcome();
SysOpter();
}
}while(counter<5);
System.exit(1);
}
/**********系統(tǒng)操作提示******************/
protected void SysOpter() throws Exception {
int num;
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("請(qǐng)選擇你要操作的項(xiàng)目(1--4)");
num=br.read();
switch (num) {
case 49:
GetBalance();
break;
case 50:
Inqu_Iofo();
break;
case 51:
AddBalance();
break;
case 52:
Exit_Sys();
break;
}
}
/**********信息查詢*******************/
protected void Inqu_Iofo() throws Exception{
// TODO Auto-generated method stub
String str="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
System.out.print(str+"\n");
System.out.print(
"賬號(hào)"+act.getNumber()+"\n"+
"姓名"+act.getName()+"\n"+
"余額"+act.getMoney()+"\n"+
str+"\n"
);
SysOpter();
}
/**********存款******************/
public void AddBalance() throws Exception{
// TODO Auto-generated method stub
String str=null,str1;
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
do {
System.out.println("請(qǐng)輸入存款數(shù)目");
str=br.readLine();
double qu=Double.valueOf(str).doubleValue();
act.add_Balancen(qu);
System.out.println("存款成功,你的賬戶余額為"+act.getMoney());
Welcome();
SysOpter();
} while (true);
}
/**********取款********************/
public void GetBalance() throws Exception{
// TODO Auto-generated method stub
String str=null,str1;
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
do {
System.out.println("請(qǐng)輸入取款數(shù)目");
str=br.readLine();
double qu=Double.valueOf(str).doubleValue();
if(qu>act.getMoney()){
System.out.println("余額不足請(qǐng)重新輸入");
}
else {
act.sub_Balance(qu);
System.out.println("取款成功你的賬戶余額未"+act.getMoney());
Welcome();
SysOpter();
}
} while (true);
}
/*********退出******************/
protected void Exit_Sys () {
// TODO Auto-generated method stub
System.out.println("安全退出!");
System.exit(1);
}
/**********卡號(hào)和密碼是否正確********************/
protected boolean isRight (String card, String pwd) {
// TODO Auto-generated method stub
if (act.getNumber().equals(card)&&act.getPassword().equals(pwd)) {
return true;
} else {
return false;
}
}
public static void main(String[] args) throws Exception {
ATM atm=new ATM();
// atm.Welcome();
atm.Load_Sys();
}
}
代碼僅供參考
運(yùn)行結(jié)果如下

好了,小伙伴們可以自己做個(gè)ATM機(jī)了^_^
- Java實(shí)現(xiàn)ATM取款機(jī)程序
- Java 8 Stream Api 中的 map和 flatMap 操作方法
- java實(shí)現(xiàn)ATM取款項(xiàng)目
- java 使用線程做的一個(gè)簡(jiǎn)單的ATM存取款實(shí)例代碼
- Java實(shí)現(xiàn)銀行ATM系統(tǒng)
- Java項(xiàng)目實(shí)現(xiàn)模擬ATM機(jī)
- java模擬ATM功能(控制臺(tái)連接Mysql數(shù)據(jù)庫(kù))
- 淺談java8 stream flatMap流的扁平化操作
- Java實(shí)現(xiàn)簡(jiǎn)單銀行ATM功能
- Java基于控制臺(tái)界面實(shí)現(xiàn)ATM系統(tǒng)
相關(guān)文章
Spring boot集成Go-FastDFS實(shí)現(xiàn)圖片上傳刪除等功能實(shí)現(xiàn)
這篇文章主要介紹了Spring boot集成Go-FastDFS實(shí)現(xiàn)圖片上傳刪除等功能實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
SpringBoot+MinIO+KKFileView實(shí)現(xiàn)文件預(yù)覽功能
本文主要介紹了使用SpringBoot、MinIO和KKFileView實(shí)現(xiàn)文件上傳和在線預(yù)覽功能,通過配置MinIO存儲(chǔ)文件,并使用KKFileView生成預(yù)覽鏈接,感興趣的可以了解一下2024-11-11
Java基本概念監(jiān)視器實(shí)習(xí)原理解析
這篇文章主要介紹了Java基本概念監(jiān)視器實(shí)習(xí)原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
Java實(shí)現(xiàn)單向鏈表反轉(zhuǎn)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)單向鏈表反轉(zhuǎn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03
IDEA編譯報(bào)錯(cuò):Error:(2048,1024) java: 找不到符號(hào)的解決方案
在使用 Lombok 的過程中,你是否曾遇到過 IDEA 編譯報(bào)錯(cuò) Error:(2048,1024) java: 找不到符號(hào)?下面就讓我們來深入剖析這一問題的根源,并給出相應(yīng)的解決方案,需要的朋友可以參考下2025-02-02
java中動(dòng)態(tài)代理如何實(shí)現(xiàn)詳解
動(dòng)態(tài)代理是基于接口實(shí)現(xiàn)的代理,mybatis就是用這個(gè)技術(shù)實(shí)現(xiàn)的,下面這篇文章主要給大家介紹了關(guān)于java中動(dòng)態(tài)代理如何實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2024-01-01
zookeeper實(shí)戰(zhàn)之實(shí)現(xiàn)分布式鎖的方法
Zookeeper實(shí)現(xiàn)分布式鎖比Redis簡(jiǎn)單,Zookeeper有一個(gè)特性,多個(gè)線程在Zookeeper里創(chuàng)建同一個(gè)節(jié)點(diǎn)時(shí),只有一個(gè)線程執(zhí)行成功,Zookeeper主要是利用臨時(shí)有序節(jié)點(diǎn)這一特性實(shí)現(xiàn)分布式鎖,感興趣的朋友跟隨小編一起學(xué)習(xí)吧2022-11-11
Java線程池運(yùn)行狀態(tài)監(jiān)控實(shí)現(xiàn)解析
這篇文章主要介紹了Java線程池運(yùn)行狀態(tài)監(jiān)控實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10

