源代码如下:

ATM机

import java.util.Scanner;public class ATM {private Bank bankGS;private Bank bankNH;public ATM() {bankGS = new Bank();bankNH = new Bank();}private BankCard searchCard (Bank bank,int id, int passwd){BankCard[] arr = bank.getCards();for (int i = 0; i < bank.getSize(); i++) {if (arr[i].getId() == id && arr[i].getPasswd() == passwd) {return arr[i];}}return null;}private BankCard login (String bankName,int id, int passwd){if (bankName.equals("农业银行")) {return searchCard(bankNH, id, passwd);} else if (bankName.equals("工商银行")) {return searchCard(bankGS, id, passwd);}return null;}public void operator () {while (true) {System.out.println("1.登陆  2.注册  3.退出");Scanner scanner = new Scanner(System.in);int chioce = scanner.nextInt();if (chioce == 3) {return;}System.out.println("请输入银行名:农业银行or工商银行");String bankName = scanner.next();System.out.println("请输入账号:");int id = scanner.nextInt();System.out.println("请输入密码:");int passwd = scanner.nextInt();switch (chioce) {case 1:BankCard successCard = login(bankName, id, passwd);if (successCard != null) {loginSuccessOperator(successCard);} else {System.out.println("登陆失败");}break;case 2:BankCard card = register(bankName, id, passwd);if (card != null) {System.out.println("注册成功");} else {System.out.println("注册失败");}break;}}}private void loginSuccessOperator (BankCard card){while (true) {System.out.println("1.存钱 2.取钱 3.转账 4.查余额 5.退卡");Scanner scanner = new Scanner(System.in);int chioce = scanner.nextInt();if (chioce == 5) {return;}switch (chioce) {case 1:System.out.println("输入存款金额:");int money = scanner.nextInt();card.saveMoney(money);break;case 2:System.out.println("输入取款金额:");money = scanner.nextInt();card.withdraw(money);break;case 3:transfer(card);break;case 4:System.out.println("当前余额:" + card.getMoney());break;}}}private void transfer (BankCard card){Scanner scanner = new Scanner(System.in);System.out.println("请输入转账银行名:");String bankName = scanner.next();System.out.println("请输入转账用户id:");int id = scanner.nextInt();if (bankName.equals("农业银行")) {BankCard[] arr = bankNH.getCards();for (int i = 0; i < bankNH.getSize(); i++) {if (arr[i].getId() == id) {System.out.println("转账金额:");int money = scanner.nextInt();if (money <= card.getMoney()) {card.withdraw(money);arr[i].saveMoney(money);} else {System.out.println("转账失败");}}}}if (bankName.equals("工商银行")) {BankCard[] arr = bankGS.getCards();for (int i = 0; i < bankGS.getSize(); i++) {if (arr[i].getId() == id) {System.out.println("转账金额:");int money = scanner.nextInt();if (money <= card.getMoney()) {card.withdraw(money);arr[i].saveMoney(money);} else {System.out.println("转账失败");}}}}}private BankCard register (String bankName,int id, int passwd){//是否之前存在这张卡BankCard card = new BankCard(id, passwd);if (bankName.equals("农业银行")) {BankCard searchCard = searchCard(bankNH, id, passwd);if (searchCard != null) {System.out.println("注册失败");return null;}bankNH.add(card);}if (bankName.equals("工商银行")) {BankCard searchCard = searchCard(bankGS, id, passwd);if (searchCard != null) {System.out.println("注册失败");return null;}bankGS.add(card);}return card;}}

银行

import java.util.Arrays;public class Bank {private BankCard[]cards;private int size;private final int INITCAPACITY;public Bank(){cards = new BankCard[10];size = 0;INITCAPACITY = 10;}public BankCard[] getCards(){return cards;}private void ensureCapacity(int capacity){if(capacity == cards.length){cards = Arrays.copyOf(cards,cards.length+(cards.length>>1));}}public void add(BankCard card){ensureCapacity(size);cards[size] = card;size++;}public int getSize(){return size;}
}

银行卡的操作

public class BankCard {private int id;private int passwd;private int money;public BankCard(int id,int passwd){this.id =id;this.passwd = passwd;this.money = 0;}public int getId() {return id;}public int getPasswd() {return passwd;}public void saveMoney(int money){this.money+=money;}public void withdraw(int money){if(this.money >= money) {this.money -= money;}else{System.out.println("取钱失败");}}public int getMoney(){return money;}
}

测试类

public class main {public static void main(String[] args) {ATM atm = new ATM();atm.operator();}
}

Java实现ATM存取钱代码相关推荐

  1. java atm 代码_java ATM取钱代码

    package com.eduask.test; import java.util.Scanner; public class ATM { static double money=0.0;//创建一个 ...

  2. Java 多线程 模拟银行ATM实时存取钱

    近期想回顾一些知识: 一.Java 多线程 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务.多线程是多任务的一种特别的形式,但多线程使用了更小的资源开 ...

  3. 2.JAVA简单实现银行账户存取钱

    JAVA简单实现银行账户存取钱 文章目录 题目重述 问题分析以及求解思路 程序代码 题目重述 定义一个银行帐户类BankAccount实现银行帐户的概念,在BankAccount类中定义两个变量:&q ...

  4. python定义一个类savingaccount表示银行账户_Python实现信用卡系统(支持购物、转账、存取钱)...

    最近一直在做一个有关信用卡系统的项目,所有很少出来给大家打招呼了,今天也该告一段了,本项目是基于python编程语言做的,此信用卡支持购物,转账和存取钱,下面小编把需求及实现思路大概分享一下,仅供参考 ...

  5. java初级atm取款机,java基础:模拟ATM取款机

    package com.atm; import java.util.Scanner; /** * ATM类实现 * * @author 向往的生活 */ public class ATM { publ ...

  6. python银行账户资金交易管理_Python实现信用卡系统(支持购物、转账、存取钱)

    最近一直在做一个有关信用卡系统的项目,所有很少出来给大家打招呼了,今天也该告一段了,本项目是基于python编程语言做的,此信用卡支持购物,转账和存取钱,下面小编把需求及实现思路大概分享一下,仅供参考 ...

  7. 数据库并发一致性案例分析(存取钱)

    原文地址 :http://www.cnblogs.com/zhenyulu/articles/633486.html 本部分内容为<数据库原理>课程中的一个课堂案例,幻灯片提供的动画演示有 ...

  8. java web atm机_Java项目实现模拟ATM机

    本文实例为大家分享了Java实现模拟ATM机的具体代码,供大家参考,具体内容如下 项目名称 模拟ATM机 项目描述 简单实现ATM机功能 代码实现 测试类 public class Test { // ...

  9. python atm银行取款系统_python ATM机 案例代码

    利用目前学的流程控制写的 ''' ATM机 需求: 1.登陆 输入账号输入密码 每日只有3次登陆密码错误的机会,超过3次禁止登陆 2.查询余额 3.存款 4.取款 5.转帐 6.退出 ''' info ...

最新文章

  1. liunx下的DNS配置
  2. Oracle10g SQL tune adviser简单介绍【转自ITPUB zhouwf0726】
  3. 【ROM修改教程】添加高级电源重启菜单(安卓4.0.4官方ROM)
  4. 征战蓝桥 —— 2017年第八届 —— C/C++A组第6题——最大公共子串
  5. CodeForces - 1562D2 Two Hundred Twenty One (hard version)(二分)
  6. OpenWrt配置篇
  7. 数学入门题——《算法竞赛入门经典-训练指南》
  8. leetcode[0142]环形链表II,判断是否存在环形链表并找到环形的入口
  9. 【一天一个C++小知识】010.malloc/free和new/delete
  10. 【论文研读】基于对偶种群的约束多目标优化进化算法
  11. Excel学习系列(1)--以文本存储的数字转换为数字
  12. 【大话设计模式-11】组合模式(案例解析)
  13. openocd编译安装使用 (基于百问网openjtag工具 ftdi)
  14. 2022朝花夕拾-持续快速成长
  15. 什么是抖音小程序 小程序该怎么做
  16. 三方流通平台:区块链+政务,打造“链上雄安”
  17. 刘慈欣 计算机工程师,刘慈欣为什么这么厉害 科幻作家刘慈欣作品有哪些
  18. NCP1342芯片替代料PN8213 65W氮化镓充电器方案
  19. Linux系统下,绑定USB串口设备号,解决上电USBID随机情况
  20. 小米网抢购系统开发实践阅读心得

热门文章

  1. 植肤兰美妆经营的每一款产品都质量
  2. 无法启动承载网络,组或资源的状态不是执行请求操作的正确状态
  3. 51nod 1613 翻硬币
  4. 出生率大跌,母婴企业在“内卷”大战中该如何突破?
  5. MacBook m1 安装 Linux虚拟机
  6. 子VI设计(创建子VI)
  7. ad 如何拖动实心区域的中间点
  8. linux 中文输入法的安装和常见问题
  9. Flutter 实现闲鱼凸起栏
  10. NOIP2016 暑期培训 D8