java編寫簡單的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("請輸入你的卡號");
card=br.readLine();
System.out.println("請輸入你的密碼");
pwd=br.readLine();
if (!isRight(card,pwd)) {
System.out.println("你的卡號或密碼有誤");
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("請選擇你要操作的項目(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(
"賬號"+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("請輸入存款數(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("請輸入取款數(shù)目");
str=br.readLine();
double qu=Double.valueOf(str).doubleValue();
if(qu>act.getMoney()){
System.out.println("余額不足請重新輸入");
}
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);
}
/**********卡號和密碼是否正確********************/
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();
}
}
代碼僅供參考
運行結(jié)果如下

好了,小伙伴們可以自己做個ATM機了^_^
相關(guān)文章
Spring boot集成Go-FastDFS實現(xiàn)圖片上傳刪除等功能實現(xiàn)
這篇文章主要介紹了Spring boot集成Go-FastDFS實現(xiàn)圖片上傳刪除等功能實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
SpringBoot+MinIO+KKFileView實現(xiàn)文件預(yù)覽功能
本文主要介紹了使用SpringBoot、MinIO和KKFileView實現(xiàn)文件上傳和在線預(yù)覽功能,通過配置MinIO存儲文件,并使用KKFileView生成預(yù)覽鏈接,感興趣的可以了解一下2024-11-11
IDEA編譯報錯:Error:(2048,1024) java: 找不到符號的解決方案
在使用 Lombok 的過程中,你是否曾遇到過 IDEA 編譯報錯 Error:(2048,1024) java: 找不到符號?下面就讓我們來深入剖析這一問題的根源,并給出相應(yīng)的解決方案,需要的朋友可以參考下2025-02-02
zookeeper實戰(zhàn)之實現(xiàn)分布式鎖的方法
Zookeeper實現(xiàn)分布式鎖比Redis簡單,Zookeeper有一個特性,多個線程在Zookeeper里創(chuàng)建同一個節(jié)點時,只有一個線程執(zhí)行成功,Zookeeper主要是利用臨時有序節(jié)點這一特性實現(xiàn)分布式鎖,感興趣的朋友跟隨小編一起學(xué)習(xí)吧2022-11-11
Java線程池運行狀態(tài)監(jiān)控實現(xiàn)解析
這篇文章主要介紹了Java線程池運行狀態(tài)監(jiān)控實現(xiàn)解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-10-10

