ATM全功能模拟

package nnn;

import java.util.*;

public class ATM {
 User use1 = new User();
 Users user1 = new Users();
 Users user2 = new Users();
 ATMutil util = new ATMutil();
 Bank bank = new Bank();
 Scanner scanner = new Scanner(System.in);

 public void start() {
  boolean fly = true;
  
  System.out.println("===========================");
  System.out.println("*****欢迎进入ATM自助系统****");
  System.out.println("===========================");
  while (fly) {
   System.out.println("《《《《1.开户》》》》");
   System.out.println("《《《《2.插卡》》》》");
   System.out.println("《《《3.系统管理》》》");
   System.out.println("《《4.返回上级菜单》》");
   System.out.println("     请选择菜单:          ");
   int choice = scanner.nextInt();
   switch (choice) {
   case 1:
    use1 = util.getCardNum();
    bank.add(use1);
    break;
   case 2:

    boolean f2;
    while (true) {
     user1.cardNum = user1.getCardNum();

     user1.pwd = user1.getPwd();
     f2 = bank.findUserNameAndPwd(user1.cardNum, user1.pwd);
     if (f2 == false) {
      continue;
     }
     break;
    }
    this.loginSuc(user1);
    break;
   case 3:
    this.adminMenu();
    break;
   case 4:
    fly=false;
    break;
   default:
    break;
   }

  }
 }

 

 public void adminMenu() {
  String aaa;
  System.out.println("请输入管理员密码:");
  String mima = scanner.next();
  if (mima.equals("123456")) {
   
  
  int in1 = 0;
  while (in1 == 0) {
   System.out.println("《《1.查看所有的用户》");
   System.out.println("《《2.冻结账户》》》》");
   System.out.println("《《3.恢复账户》》》》");
   System.out.println("《《4.退出系统》》》》");
   System.out.println("    请选择菜单:      ");
   int choice = scanner.nextInt();
   switch (choice) {
   case 1:
    System.out.println("       " + "卡号  " + "            余额"+"              用户状态");
    for (int i2 = 0; i2 < bank.i; i2++) {
     System.out.print(bank.cardNum[i2] + "    ");
     if (bank.flag[i2] == 1) {
      aaa = "正常用户";
     } else {
      aaa = "冻结用户";
     }
     System.out.println(bank.money[i2] + "     " + aaa);

    }
    break;
   case 2:
    System.out.println("请输入需要冻结的账户:");
    String aa = scanner.next();
    bank.addBlackList(aa);
    break;
   case 3:
    System.out.println("请输入需要恢复的账户:");
    String aa1 = scanner.next();
    bank.getUserFromBlackList(aa1);
    break;
   case 4:
    System.out.println("退出系统");
    in1 = 1;
    break;
   default:
    break;
   }

  }
  }else {
   System.out.println("密码错误无权访问");
  }
 

 }

 public void insertCard() {
  Users user = new Users();
  String card = user.getCardNum();
  String num = user.getPwd();
 }

 public void loginSuc(Users user) {
  int in = 0;
  int  po=0;
    po=bank. selectno(user.cardNum);
    if (bank.flag[po]==0) {System.out.println("禁止访问");
  }else{
  while (in == 0) {
   System.out.println("《《《1.查看余额》");
   System.out.println("《《《2.存款》》》");
   System.out.println("《《《3.转帐》》》");
   System.out.println("《《《4.退出系统》");
   System.out.println("    请选择菜单:      ");
   int choice = scanner.nextInt();
   switch (choice) {
   case 1:
    float yu = bank.yue(user.cardNum);
    System.out.println("账户      :" + user.cardNum + "  余额   :"
      + yu);
    break;
   case 2:
    user.setMoney(user1.cardNum);

    break;
   case 3:
    System.out.println("请输入要转入的账户:");
    String num = scanner.next();
    float a = user.getMoney(user.cardNum);
    user.setMoney1(num, a);
    break;
   case 4:
    in = 1;
    System.out.println("退出系统");
    break;
   default:
    break;
   }

  }}

 }

}

 

 

 

 

package nnn;

import java.util.Random;
import java.util.Scanner;

public class ATMutil {
 static Bank bank = new Bank();
 static Scanner scanner = new Scanner(System.in);
 static int add = 0;

 public static User getCardNum() {
  User use2 = new User();
  boolean flag = true;
  Random rd = new Random();
  String carNum = "" + rd.nextInt(9999) * 10000 + add++;
  System.out.println("系统为你生成的卡号为:" + carNum);
  while (flag) {
   System.out.println("请输入密码:");
   String pwd = scanner.next();
   System.out.println("请确认输入密码:");
   String pwd1 = scanner.next();
   if (pwd.equals(pwd1)) {
    System.out.println("开户成功!现在是否存款    (Y/N)");
    String YN = scanner.next();
    if (YN.toUpperCase().equals("Y")) {
     System.out.println("请输入存款金额:");
     Float money = scanner.nextFloat();
     use2.money = money;
     bank.money[bank.i] = money;
    } else {
     use2.money = (float) 0;
     bank.money[bank.i] = (float) 0;
    }
    use2.pwd = pwd;
    use2.cardNum = carNum;
    bank.pwd[bank.i] = pwd;
    bank.cardNum[bank.i] = carNum;

    break;
   } else {
    System.out.println("你的两次输入密码不一致请重新输入");
    flag = true;
   }

  }

  return use2;

 }
}

 

 

 

 

package nnn;

import javax.swing.text.StyledEditorKit.ForegroundAction;

public class Bank {
 public static int i = 0;
 static Float[] money = new Float[100];
 static String[] cardNum = new String[100];
 static String[] pwd = new String[100];
 static int[] flag = new int[100];


 public void add(User use8) {

  cardNum[i] = use8.cardNum;
  pwd[i] = use8.pwd;
  money[i] = use8.money;
  flag[i] = 1;
  i++;
 }

 public void addBlackList(String user) {

  for (int i1 = 0; i1 < i; i1++) {
   if (cardNum[i1].equals(user)) {
    flag[i1] = 0;
   }

  }

 }

 public Users getUserFromUserList(String cardNumf) {
  Users user = new Users();
  for (int k = 0; k < i; k++) {
   if (cardNum[k].equals(cardNumf) && flag[k] == 1) {
    user.cardNum = cardNum[k];
    user.pwd = pwd[k];
    user.money = money[k];
    flag[k] = 0;
   }
  }
  return user;
 }

 public void getUserFromBlackList(String cardNumf) {

  for (int k = 0; k < i; k++) {
   if (flag[k] == 0) {
    if (cardNum[k].equals(cardNumf)) {

     flag[k] = 1;
    }
   }
  }

 }

 public boolean findUserNameAndPwd(String cardNumf, String pwdf) {
  boolean f1 = true;
  for (int aa = 0; aa < i; aa++) {

   if (cardNum[aa].equals(cardNumf)) {
    if (flag[aa] == 0) {
     System.out.println("此用户为冻结用户");
     break;
    }
    if (pwd[aa].equals(pwdf)) {
     System.out.println("成功登陆");
     f1 = true;

    } else {
     System.out.println("用户名密码不匹配");
     f1 = false;
     continue;
    }

   }
  }

  return f1;
 }

 public float yue(String a) {
  float b = 0;
  for (int i5 = 0; i5 < i; i5++) {
   if (a.equals(cardNum[i5])) {
    b = money[i5];
   }
  }
  return b;

 }

 public int selectno(String a) {
  int aa = 0;
  for (int i6 = 0; i6 < i; i6++) {
   if (cardNum[i6].equals (a)) {
    aa = i6;
   }

  }

  return aa;

 }

}

 

 

 

package nnn;

public class main {
 Bank bank = new Bank();

 public static void main(String[] args) {
  ATM atm = new ATM();
  atm.start();
 }

}

 

 

 

package nnn;

import java.util.*;

public class Users {
 Bank bank = new Bank();
 String cardNum;
 String pwd;
 float money;

 public String getCardNum() {
  Scanner scanner = new Scanner(System.in);
  System.out.println("请输入你的银行卡账号");
  this.cardNum = scanner.next();
  return this.cardNum;
 }

 public void setCardNum(String cardNum) {
  this.cardNum = cardNum;
 }

 public String getPwd() {
  Scanner scanner = new Scanner(System.in);
  System.out.println("请输入你的密码    :");
  String pwd = scanner.next();
  return pwd;
 }

 

 public void setMoney(String cardNum4) {
  Scanner scanner = new Scanner(System.in);
  int i9 = bank.selectno(cardNum4);
  System.out.println("请输入存款金额:");
  float a = scanner.nextFloat();
  bank.money[i9] = bank.money[i9] + a;

 }

 public void setMoney1(String cardNum4, float a) {
  int i9 = bank.selectno(cardNum4);
  bank.money[i9] = bank.money[i9] + a;
 }

 public float getMoney(String cardNum2) {
  Scanner scanner = new Scanner(System.in);
  int i9 = bank.selectno(cardNum2);
  System.out.println("请输入金额:");
  this.money = scanner.nextFloat();
  bank.money[i9] = bank.money[i9] - this.money;
  return this.money;
 }
}

 

 

 

package nnn;

public class User {
 static String cardNum;
 static String pwd;
 static float money;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值