21xrx.com
2024-11-22 14:53:34 Friday
登录
文章检索 我的文章 写文章
用Java编写ATM柜员机模拟程序
2023-06-16 11:40:39 深夜i     --     --
Java ATM柜员机 模拟程序

现代生活中,ATM柜员机已经成为了人们日常生活的一部分。为了更好地了解ATM柜员机的运作原理和设计思路,我们可以采用Java编写一个ATM柜员机模拟程序。

首先,在模拟程序中我们需要创建不同的账户,可以使用类来实现:


class Account {

 private String name;

 private int balance;

 

 public Account(String name, int balance)

  this.name = name;

  this.balance = balance;

 

 

 public int getBalance()

  return balance;

 

 

 public void deposit(int amount) {

  balance += amount;

 }

 

 public void withdraw(int amount)

  balance -= amount;

 

}

然后我们需要创建一个柜员机的类,来模拟ATM机的各种操作:


class ATM {

 private ArrayList accounts;

 private int currentUserIndex;

 

 public ATM() {

  accounts = new ArrayList<>();

  accounts.add(new Account("张三", 1000));

  accounts.add(new Account("李四", 2000));

  accounts.add(new Account("王五", 3000));

  currentUserIndex = -1;

 }

 

 public boolean login(String name) {

  for (int i = 0; i < accounts.size(); i++) {

   Account account = accounts.get(i);

   if (account.getName().equals(name))

    currentUserIndex = i;

    return true;

   

  }

  return false;

 }

 

 public boolean logout() {

  if (currentUserIndex >= 0)

   currentUserIndex = -1;

   return true;

  

  return false;

 }

 

 public boolean deposit(int amount) {

  Account account = accounts.get(currentUserIndex);

  if (account != null) {

   account.deposit(amount);

   return true;

  }

  return false;

 }

 

 public boolean withdraw(int amount) {

  Account account = accounts.get(currentUserIndex);

  if (account != null && account.getBalance() >= amount) {

   account.withdraw(amount);

   return true;

  }

  return false;

 }

}

最后,我们可以在main函数中实现模拟程序的运行,来模拟ATM柜员机的不同操作:


public static void main(String[] args) {

 ATM atm = new ATM();

 System.out.println(atm.login("张三"));

 System.out.println(atm.deposit(500));

 System.out.println(atm.withdraw(200));

 System.out.println(atm.logout());

}

三个

  
  

评论区

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