Java实现银行ATM功能示例
创始人
2024-11-17 17:23:04
0次

实现功能

1、用户需要通过输入银行卡号和密码才能进入ATM系统
2、用户可以在ATM中实现取款、存款、转账、余额查询、退出系统等功能

简单分析

1、创建User类(cardNo,identity,phone,username,password,balance(余额))
2、创建Bank类,主要实现初始化用户、用户登录、显示菜单、取款、存款、转账、余额查询、退出系统等功能。

代码实现

User.java

public class User {
   private String username;
   private int password;
   private String cardNo;
   private String identity;
   private String phone;
   private double blance;

  public User() {
  }

  public User(String username, int password, String cardNo, String identity, String phone, double blance) {
    this.username = username;
    this.password = password;
    this.cardNo = cardNo;
    this.identity = identity;
    this.phone = phone;
    this.blance = blance;
  }

  public String getUsername() {
    return username;
  }

  public void setUsername(String username) {
    this.username = username;
  }

  public int getPassword() {
    return password;
  }

  public void setPassword(int password) {
    this.password = password;
  }

  public String getCardNo() {
    return cardNo;
  }

  public void setCardNo(String cardNo) {
    this.cardNo = cardNo;
  }

  public String getIdentity() {
    return identity;
  }

  public void setIdentity(String identity) {
    this.identity = identity;
  }

  public String getPhone() {
    return phone;
  }

  public void setPhone(String phone) {
    this.phone = phone;
  }

  public double getBlance() {
    return blance;
  }

  public void setBlance(double blance) {
    this.blance = blance;
  }
}

Bank.java

public class Bank {
  //创建用户数组
  private User[] users=new User[100];
  //用户个数
  private int size=0;
  //当前登录的用户
  private User loginuser;

  public Bank() {
    initial();//初始化用户
  }

  /**
  * 初始化用户
  */
  public void initial(){
    User user1=new User("钟爱",12346,"6226789234023434","130324192309123074","13133565435",2312313);
    User user2=new User("冷冬",12354,"6226789234023567","1305472309123074","13446745675",2333);
    User user3=new User("小龙",9893,"6226789234023564","13032414575467457","13145745435",255553);
    User user4=new User("赵丽颖",6342,"6226789234029324","130324192647456774","13145675435",288883);
    User user5=new User("徐三哥",8445,"6226789234025487","1303241923456744","1457785435",28989);
    users[0]=user1;
    users[1]=user2;
    users[2]=user3;
    users[3]=user4;
    users[4]=user5;
    size=5;
  }
  /**
  * 用户登录
  */
  public User login(String cardNo,int password){
    for (int i = 0; i 0){
        loginuser.setBlance(loginuser.getBlance()+money);
        System.out.println("存款成功");
        System.out.println("您的当前余额为"+loginuser.getBlance());
      }else{
        System.out.println("输入错误!");
      }
    }else{
      System.out.println("您还未进行账户登录");
    }
  }
  /**
   * 取款操作
   */
  public void withdraw(){
    Scanner input=new Scanner(System.in);
    System.out.println("请输入你要取出的金额为:");
    int money=input.nextInt();
    if(loginuser!=null){
      if(money>0&&money<=loginuser.getBlance()){
        loginuser.setBlance(loginuser.getBlance()-money);
        System.out.println("取款成功");
        System.out.println("您的当前余额为:"+loginuser.getBlance());
      }else{
        System.out.println("输入错误");
      }
    }else{
      System.out.println("您还未进行账户登录");
    }
  }
  /**
   * 转账操作
   */
  public void trans(){
    Scanner input=new Scanner(System.in);
    System.out.println("请输入要转入账户的卡号:");
    String cardNo=input.next();
    User nuser=null;//对方账户
    boolean IsExit=false;//判断对方账户是否存在
    for (int i = 0; i 0&&money<=loginuser.getBlance()){
        loginuser.setBlance(loginuser.getBlance()-money);
        nuser.setBlance(nuser.getBlance()+money);
        System.out.println("转账成功");
        System.out.println("您当前余额为"+loginuser.getBlance());
        System.out.println(nuser.getBlance());
      }else{
        System.out.println("输入错误");
      }
    }else{
      System.out.println("请登录账户");
    }
  }
  /**
   * 查询余额
   */
  public void query(){

    System.out.println("您的余额为:"+loginuser.getBlance());
  }
  /**
   * 修改密码
   */
  public void revise(){
    Scanner input=new Scanner(System.in);
    System.out.println("请输入您的新密码");
    int newpassword=input.nextInt();
    for (int i = 0; i < size; i++) {
      if(users[i]==loginuser){
        users[i].setPassword(newpassword); //进行修改
      }
    }
    System.out.println("密码修改成功");
  }
}

BankSystem.java

public class BankSystem {
  public static void main(String[] args) {
    Scanner input=new Scanner(System.in);
    Bank bank=new Bank();
      System.out.println("请输入您的卡号:");
      String cardNo=input.next();
      System.out.println("请输入您的密码:");
      int password=input.nextInt();
      User user = bank.login(cardNo, password);//用户登录
      if(user!=null){
        System.out.println(user.getUsername()+"登陆成功");
        bank.showMenus();
      }else{
        System.out.println("登陆失败");
      }
  }
}

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...