ATM操作系统 简易模拟

import java.util.Scanner;
public class Atm {
    Scanner in = new Scanner(System.in);
    int inNum,inPass;         //客户输入的账号密码
    int id = 110;            //账号
    int password = 120;     //密码
    int balance = 10000;   //余额
    int outMo;           //取款金额
    int inMo;           //存款金额
    int outMon;         //自定义存款金额
public void getIn(){
System.out.println("————————————————————————————欢迎光临XX银行—————————————————————————————");
System.out.println("*******************************************************************");
System.out.println("请输入您的账号:");
inNum = in.nextInt();
System.out.println("请输入您的密码:");
inPass = in.nextInt();
while(true){         //判断账号密码是否正确
if(inNum == id){
boolean temp = true;
while(temp){
  if(inPass == password){
menu();
break;
}
  else{
for(int i = 2 ;i < 4;i++){     //循环三次判断密码   因为一开始已经输入一次  所以起始值定为2
System.out.println("密码不正确,请重新输入密码,密码输入错误三次账户将被锁定,当前第" + i + "次");
System.out.println("请输入您的密码:");
inPass = in.nextInt();
while(i == 3){
System.out.println("密码输入错误三次,该账户已被锁定,请持本人身份证到营业厅解锁。");
bCard();
temp = false;
break;
}
continue;
}
}
  }
break;
}
else{
System.out.println("该账号不存在,请重新输入:");
inNum = in.nextInt();
continue;
}
}
}
public void menu(){   //主菜单
System.out.println("————————————————————————————欢迎光临XX银行ATM操作系统———————————————————");
System.out.println("*****************************************************************");
System.out.println("请选择业务编号:| 【1】取款     【2】存款     【3】查询     【4】转账     【5】修改密码     【6】退卡       |");
int num = in.nextInt();
switch(num){
case 1: outMoney();
case 2: inMoney();
case 3: query();
case 4: transfer();
case 5: change();
case 6: bCard();
}
}
public void outMoney(){   //输入取款金额

System.out.println("请选择取款金额:| 【1】100     【2】200     【3】500     【4】1000    【5】2000     【6】其他金额       |");
int num = in.nextInt();
switch(num){              //确定取款金额
case 1: outMo = 100;  getMoney();
case 2: outMo = 200;  getMoney();
case 3: outMo = 500;  getMoney();
case 4: outMo = 1000; getMoney();
case 5: outMo = 2000; getMoney();
case 6:System.out.println("请输入取款金额:(只能取100的整数)");  outMon = in.nextInt(); cheakOut();
}
}
public void cheakOut(){  //判断自定义取款金额是否是100的整数
if(outMon % 100 == 0 && outMon >= 100){  //小于100 的数和100取余也等于0  所以要加上条件 >=100 
outMo = outMon;
getMoney();   //输入金额符合规定则调用取款方法
}
else{
System.out.println("您所输入的金额有误,应输入大于或等于100的整数,请重新输入取款金额");
outMoney();  //输入金额不符合规定则调用输入取款金额方法
}
}
public void getMoney(){
if (outMo > balance){    //判断余额
System.out.println("余额不足,取款失败,请重新输入取款金额:");
outMoney();
}
else{
balance -= outMo;
System.out.println("取款成功,当前余额为:    " + balance );
back();
}
}

public void inMoney(){
System.out.println("请输入存款金额:");
inMo = in.nextInt();
while(true){
        if (inMo % 100 == 0 && inMo >= 100){   //判断存款金额是否符合规定
   balance += inMo;
   System.out.println("存款成功,当前余额为:     " + balance);
   back();
   break;
}
else{
System.out.println("您所输入的金额有误,应输入大于或等于100的整数,请重新输入存款金额");
inMo = in.nextInt();
continue;
}
}

}

public void query(){  //查询方法
System.out.println("您当前的余额为       "  + balance);
back();
}

public void transfer(){  //转账方法
System.out.println("请输入转账账号:");
int tra = in.nextInt();
System.out.println("请输入转账金额:");
int traMo = in.nextInt();
balance -= traMo;
System.out.println("转账成功,您当前的余额为:     " + balance);
back();
}
public void change(){  //修改密码方法
System.out.println("请输入新密码:");
int nPassword = in.nextInt();
System.out.println("请再输入一次:");
int nePassword = in.nextInt();
while(true){
if(nPassword == nePassword){
password = nPassword;
System.out.println("密码修改成功!");
back();
break;
}
else{
System.out.println("两次密码输入不同,修改密码失败,请重新输入:");
System.out.println("请输入新密码:");
nPassword = in.nextInt();
System.out.println("请再输入一次:");
nePassword = in.nextInt();
continue;
}
}
}
public void back(){   //返回主菜单方法
System.out.println("请选择下一步操作:     【1】返回主菜单                         【2】退卡");
int num = in.nextInt();
switch(num){
case 1:menu();
case 2:bCard();
}
}
public void bCard(){   //退卡方法
System.out.println("谢谢使用,欢迎下次光临!");
getIn();
}

}



在写一个测试类实例化后调用getIn方法即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值