21xrx.com
2024-11-05 16:23:48 Tuesday
登录
文章检索 我的文章 写文章
JavaATM取款机代码:轻松构建简单的银行系统
2023-06-15 14:14:22 深夜i     --     --
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机的界面,选择对应的操作后,根据提示输入账号和密码,就可以进行取款或查询余额操作了。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复