holyya.com
2025-09-07 00:32:45 Sunday
登录
文章检索 我的文章 写文章
Java实现ATM机-体验神奇的编程世界
2023-06-16 15:53:08 深夜i     --     --

在现代化的金融服务中,ATM机扮演着关键的角色。通过ATM机,用户可以使用自己的银行卡进行取款、转账、查询等操作,而无需到银行柜台排队,尤其在疫情时期,更是减少了人员接触的交互。那么,在这个技术看似发达的时代,如何用Java代码实现ATM机呢?本文将为大家一一揭晓。

首先,我们需要定义一个用户类,并初始化用户账户余额与账户密码等信息,如下所示:


public class User {

  private double balance; //账户余额

  private String password; //账户密码

  //初始化用户信息

  public User(double balance, String password)

    this.balance = balance;

    this.password = password;

  

  //查询账户余额

  public double getBalance()

    return balance;

  

  //获取账户密码

  public String getPassword()

    return password;

  

  //更新账户余额

  public void updateBalance(double balance) {

    this.balance += balance;

  }

}

接下来,我们需要定义一个ATM类,实现用户的交互过程,具体可以有取款、存款、转账、查询余额等操作,代码如下:


import java.util.Scanner;

public class ATM {

  private User user; //用户信息

  //初始化ATM机

  public ATM(User user)

    this.user = user;

  

  //ATM机主界面

  private void welcome() {

    System.out.println("************************");

    System.out.println("*   欢迎使用ATM机    *");

    System.out.println("************************");

  }

  //取款

  private void withdraw() {

    Scanner input = new Scanner(System.in);

    System.out.println("请输入取款金额:");

    double amount = input.nextDouble();

    if (amount <= 0 || amount > user.getBalance()) {

      System.out.println("取款金额非法,请重新输入!");

      return;

    }

    user.updateBalance(-amount);

    System.out.println("取款成功,当前余额为:" + user.getBalance());

  }

  //存款

  private void deposit() {

    Scanner input = new Scanner(System.in);

    System.out.println("请输入存款金额:");

    double amount = input.nextDouble();

    if (amount <= 0) {

      System.out.println("存款金额非法,请重新输入!");

      return;

    }

    user.updateBalance(amount);

    System.out.println("存款成功,当前余额为:" + user.getBalance());

  }

  //转账

  private void transfer() {

    Scanner input = new Scanner(System.in);

    System.out.println("请输入对方账户名:");

    String name = input.next();

    System.out.println("请输入转账金额:");

    double amount = input.nextDouble();

    if (amount <= 0 || amount > user.getBalance()) {

      System.out.println("转账金额非法,请重新输入!");

      return;

    }

    user.updateBalance(-amount);

    System.out.println("转账成功,当前余额为:" + user.getBalance());

  }

  //查询余额

  private void queryBalance() {

    System.out.println("当前余额为:" + user.getBalance());

  }

  //ATM机操作选择

  private void choice() {

    Scanner input = new Scanner(System.in);

    while (true) {

      System.out.print("请选择操作:\n1、取款\n2、存款\n3、转账\n4、查询余额\n5、退出\n>");

      int ch = input.nextInt();

      switch (ch) {

        case 1:

          withdraw();

          break;

        case 2:

          deposit();

          break;

        case 3:

          transfer();

          break;

        case 4:

          queryBalance();

          break;

        case 5:

          return;

        default:

          System.out.println("非法选择!");

          break;

      }

    }

  }

  //ATM机使用结束

  private void end() {

    System.out.println("谢谢使用,再见!");

  }

  //ATM机使用流程

  public void run() {

    welcome();

    choice();

    end();

  }

  public static void main(String[] args) {

    User user = new User(5000.0, "123456");

    ATM atm = new ATM(user);

    atm.run();

  }

}

最后,我们只需要在main函数中新建一个实例,在控制台就可以愉快地体验ATM机的神奇之处啦!

本文示例代码简洁明了,实现了基本功能,但还有许多细节需要完善,如密码的安全性、ATM机的各种交互提示等等。利用Java编写ATM机是一个充满挑战和快乐的过程,让我们一同感受编程的魅力吧!

关键词:

Java编程;ATM机;用户交互;

  
  

评论区

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