21xrx.com
2024-12-23 02:35:08 Monday
登录
文章检索 我的文章 写文章
用Java编写ATM机器代码
2023-06-16 10:29:45 深夜i     --     --
ATM机 Java代码 银行设备

ATM机是我们生活中必不可少的设备之一,是我们取款、查询余额和转账的主要途径。在这篇文章中,我们将探讨如何使用Java编写ATM机器代码。

首先,我们需要定义一个ATM类来实现ATM机的基本功能。这个类将包含读取卡的功能,验证密码和显示用户菜单等的方法。

以下是一个基本的ATM类:


import java.util.Scanner;

public class ATM {

  private String cardNumber;

  private String password;

  private double balance;

  public ATM(String cardNumber, String password, double balance)

    this.cardNumber = cardNumber;

    this.password = password;

    this.balance = balance;

  

  public void readCard() {

    Scanner input = new Scanner(System.in);

    System.out.println("请刷卡...");

    this.cardNumber = input.nextLine();

  }

  public boolean verifyPassword(String password) {

    if (password.equals(this.password))

      return true;

     else

      return false;

    

  }

  public void displayMenu() {

    System.out.println("1. 查询余额");

    System.out.println("2. 取款");

    System.out.println("3. 存款");

    System.out.println("4. 转账");

    System.out.println("5. 退出");

  }

  public void withdraw(double amount) {

    if (amount <= 0) {

      System.out.println("金额必须大于0!");

    } else if (amount > this.balance) {

      System.out.println("余额不足!");

    } else {

      this.balance -= amount;

      System.out.println("取款成功!余额为:" + this.balance);

    }

  }

  public void deposit(double amount) {

    if (amount <= 0) {

      System.out.println("金额必须大于0!");

    } else {

      this.balance += amount;

      System.out.println("存款成功!余额为:" + this.balance);

    }

  }

  public void transfer(ATM atm, double amount) {

    if (amount <= 0) {

      System.out.println("金额必须大于0!");

    } else if (amount > this.balance) {

      System.out.println("余额不足!");

    } else {

      this.balance -= amount;

      atm.balance += amount;

      System.out.println("转账成功!" + this.cardNumber + "转出" + amount + "元; " + atm.cardNumber + "转入" + amount + "元。");

      System.out.println("余额为:" + this.balance);

    }

  }

}

接着,我们创建一个Main类,在Main类中实例化ATM类,并执行ATM中的方法。

以下是一个基本的Main类:


public class Main {

  public static void main(String[] args) {

    ATM atm1 = new ATM("1234567890", "123456", 5000);

    ATM atm2 = new ATM("0987654321", "654321", 10000);

    atm1.readCard();

    if (atm1.verifyPassword("123456")) {

      atm1.displayMenu();

      Scanner input = new Scanner(System.in);

      int choice = input.nextInt();

      switch (choice) {

        case 1:

          System.out.println("余额为:" + atm1.balance);

          break;

        case 2:

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

          double amount = input.nextDouble();

          atm1.withdraw(amount);

          break;

        case 3:

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

          double amount1 = input.nextDouble();

          atm1.deposit(amount1);

          break;

        case 4:

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

          double amount2 = input.nextDouble();

          atm1.transfer(atm2, amount2);

          break;

        case 5:

          System.exit(0);

        default:

          System.out.println("请输入1-5之间的数字!");

      }

    } else {

      System.out.println("密码错误!");

    }

  }

}

通过执行Main类,我们将能够在控制台上模拟ATM机器的各种操作。

  
  

评论区

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