模拟ATM机流程_模拟atm柜员机程序
模拟ATM机流程由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“模拟atm柜员机程序”。
模拟ATM机流程
package com.igeekhome.demo2;
import java.util.Scanner;
//银行帐户类
public cla Account { // 属性
private int id;private String name;private String pa;private double balance;private static int currentID = 1;// 记录当前的卡
// get/set public int getId(){
return this.id;}
public String getName(){
return this.name;}
public String getPa(){
return this.pa;}
public double getBalance(){
return this.balance;}
//构造函数
public Account(String name,String pa,double money){
this.name = name;
this.pa = pa;
this.balance = money;
this.id = currentID++;}
/*******业务方法*********/
//存款
public void saveMoney(){ Scanner in = new Scanner(System.in);//接收存款的金额
System.out.print(“请输入存款的金额:”);int money = in.nextInt();
//修改余额
this.balance+=money;
//给出提示
System.out.println(“存款成功,当前的余额是:”+this.balance);}
//取款
public void drawMoney(){ Scanner in = new Scanner(System.in);//接收取款的金额
System.out.print(“请输入取款的金额:”);int money = in.nextInt();//判断余额是否大于取款金额,如果满足上面的条件,则修改余额,并给出提示
if(this.balance>money){
this.balance-=money;
System.out.println(“取款成功,当前的余额是:”+this.balance);}else{//如果不满足,则给出取款 失败的动提示
System.out.println(“余额不足,取款失败”);}
}
//修改密码
public void modifyPa(){ Scanner in = new Scanner(System.in);//接收原密码
System.out.print(“请输入原密码:”);String oldPa = in.nextLine();//判断密码是否正确,如果不正确,则给出提示,结束方法
if(this.pa.equals(oldPa)==false){
System.out.println(“原密码不正确,修改密码失败”);
return;//返回,不再往下执行
}
//如果正确,则接收新密码
System.out.print(“请输入新密码:”);String newPa1 = in.nextLine();
//再次接收新密码
System.out.print(“请再次输入新密码:”);
String newPa2 = in.nextLine();
//判断两次新密码是否一致,如果一致,修改密码,给出提示
if(newPa1.equals(newPa2)){
this.pa = newPa1;
System.out.println(“修改密码成功”);
}else{ //如果不一致,给出修改密码失败提示
System.out.println(“两次新密码不一致,修改密码失败”);
}
}
}
package com.igeekhome.demo2;
import java.util.Scanner;
public cla Test {
public static void main(String[] args){
//创建一个帐户对象,进行模拟操作
Account a = new Account(“张三”,“888888”,1000);
//System.out.println(a.getId()+“,”+a.getPa());
//调用登录方法,并得到返回结果
boolean flag = Test.login(a.getId(), a.getPa());
if(flag){//如果返回值为true,才进行到主菜单进行相关的操作
Test.showMenu(a);
}
}
//进行登录操作,如果成功,则返回true,否则返回false /*
* 用户在ATM机进行操作时,可以有三次输入密码的机会,如果三次中任何一次输入正确,可以进入到主界面进行相关操作,如果三次都不正确,则输出“请与管理员联系”
*/ public static boolean login(int id,String pa){//id,pa现有卡的卡号和密码
Scanner in = new Scanner(System.in);
for(int i=1;i
System.out.print(“请输入卡号:”);
String s = in.nextLine();
int curID = Integer.parseInt(s);
System.out.print(“请输入密码:”);
String curPa = in.nextLine();
//如果卡号和密码都正确,则返回 true
if(id==curID && pa.equals(curPa))
return true;
if(i
System.out.println(“卡号或密码不正确,请重新输入!”);
else
System.out.println(“三次输入错误,请与管理员进行联系”);}
return false;}
//显示菜单,进行相关操作
public static void showMenu(Account a){ Scanner in = new Scanner(System.in);
System.out.println(“欢迎使用ATM取款机”);while(true){
System.out.println(“请选择:1.查询余额;2.取款;3.存款;4.修改密码;5.退出:”);
int choose = in.nextInt();//接收用户的选择
if(choose==5)
break;
switch(choose){
case 1:System.out.println(“您的余额是:”+a.getBalance());break;
case 2:a.drawMoney();break;
case 3:a.saveMoney();break;
case 4:a.modifyPa();break;
default:System.out.println(“您的输入有误,请重新输入”);break;
} }
System.out.println(“感谢您再次使用!”);} }