21xrx.com
2025-04-25 21:39:07 Friday
文章检索 我的文章 写文章
JavaATM取款机代码:轻松构建简单的银行系统
2023-06-15 14:14:22 深夜i     15     0
Java ATM 取款机代码

随着数字化时代的到来,银行业务也变得更加便捷了,ATM机的普及使得我们可以在任何时间、任何地点轻松地进行取款、存款、查询等操作。那么,如何构建一个简单的银行系统呢?本文将介绍如何使用Java编写ATM取款机代码。

在开始之前,我们需要先确保你已经安装好了Java开发环境。首先,我们需要定义一个Bank类,用来表示整个银行系统。然后,我们定义一个Customer类,用来表示银行的客户,包括客户的姓名、账号、密码、余额等信息。

class Bank {
  private Customer[] customers;
  private int numberOfCustomers;
  // 构造函数,用来初始化Bank对象
  public Bank() {
    customers = new Customer[10];
    numberOfCustomers = 0;
  }
  // 添加客户
  public void addCustomer(String name, String accountNumber, String password, double balance) {
    customers[numberOfCustomers] = new Customer(name, accountNumber, password, balance);
    numberOfCustomers++;
  }
  // 返回客户的个数
  public int getNumberOfCustomers()
    return numberOfCustomers;
  
  // 获取指定客户对象
  public Customer getCustomer(int index) {
    return customers[index];
  }
}
class Customer {
  private String name;
  private String accountNumber;
  private String password;
  private double balance;
  // 构造函数,用来初始化Customer对象
  public Customer(String name, String accountNumber, String password, double balance)
    this.name = name;
    this.accountNumber = accountNumber;
    this.password = password;
    this.balance = balance;
  
  // 返回客户的姓名
  public String getName()
    return name;
  
  // 返回客户的账号
  public String getAccountNumber()
    return accountNumber;
  
  // 返回客户的余额
  public double getBalance()
    return balance;
  
  // 取款操作
  public void withdraw(double amount)
    balance -= amount;
  
}

我们已经定义好了Bank和Customer类,现在我们需要编写一个ATM类,用来模拟ATM机。

import java.util.Scanner;
class ATM {
  private Bank bank;
  // 构造函数,用来初始化ATM对象
  public ATM() {
    bank = new Bank();
    bank.addCustomer("张三", "001", "123456", 1000);
    bank.addCustomer("李四", "002", "123456", 2000);
    bank.addCustomer("王五", "003", "123456", 3000);
  }
  // ATN机启动
  public void run() {
    Scanner in = new Scanner(System.in);
    while (true) {
      System.out.println("欢迎使用ATM机!");
      System.out.println("请选择服务:");
      System.out.println("1. 取款");
      System.out.println("2. 查询余额");
      System.out.println("3. 退出");
      int choice = in.nextInt();
      if (choice == 1) {
        withdraw();
      } else if (choice == 2) {
        checkBalance();
      } else if (choice == 3) {
        System.exit(0);
      } else {
        System.out.println("非法选择,请重新输入!");
      }
    }
  }
  // 取款操作
  private void withdraw() {
    Scanner in = new Scanner(System.in);
    System.out.println("请输入账号:");
    String accountNumber = in.nextLine();
    System.out.println("请输入密码:");
    String password = in.nextLine();
    boolean flag = false;
    for (int i = 0; i < bank.getNumberOfCustomers(); i++) {
      Customer customer = bank.getCustomer(i);
      if (customer.getAccountNumber().equals(accountNumber)
          && customer.getPassword().equals(password)) {
        System.out.println("请输入取款金额:");
        double amount = in.nextDouble();
        if (amount > customer.getBalance()) {
          System.out.println("余额不足!");
        } else {
          customer.withdraw(amount);
          System.out.println("取款成功!");
          System.out.println("账号:" + customer.getAccountNumber()
              + ",姓名:" + customer.getName()
              + ",余额:" + customer.getBalance());
        }
        flag = true;
        break;
      }
    }
    if (!flag) {
      System.out.println("账号或密码错误!");
    }
  }
  // 查询余额操作
  private void checkBalance() {
    Scanner in = new Scanner(System.in);
    System.out.println("请输入账号:");
    String accountNumber = in.nextLine();
    System.out.println("请输入密码:");
    String password = in.nextLine();
    boolean flag = false;
    for (int i = 0; i < bank.getNumberOfCustomers(); i++) {
      Customer customer = bank.getCustomer(i);
      if (customer.getAccountNumber().equals(accountNumber)
          && customer.getPassword().equals(password)) {
        System.out.println("余额为:" + customer.getBalance());
        flag = true;
        break;
      }
    }
    if (!flag) {
      System.out.println("账号或密码错误!");
    }
  }
  public static void main(String[] args) {
    ATM atm = new ATM();
    atm.run();
  }
}

在以上代码中,我们定义了一个ATM类,并调用Bank类中的addCustomer函数,创建了三个Customer对象。在ATM的run函数中,我们使用Scanner类获取用户输入,根据用户的选择进行不同的操作。在withdraw函数和checkBalance函数中,我们分别使用for循环遍历所有的客户,根据用户输入的账号和密码进行验证,然后执行各自的操作。

运行以上代码,可以看到ATM机的界面,选择对应的操作后,根据提示输入账号和密码,就可以进行取款或查询余额操作了。

  
  

评论区

请求出错了