Java实现ATM存取钱代码
源代码如下:
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存取钱代码相关推荐
- java atm 代码_java ATM取钱代码
package com.eduask.test; import java.util.Scanner; public class ATM { static double money=0.0;//创建一个 ...
- Java 多线程 模拟银行ATM实时存取钱
近期想回顾一些知识: 一.Java 多线程 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务.多线程是多任务的一种特别的形式,但多线程使用了更小的资源开 ...
- 2.JAVA简单实现银行账户存取钱
JAVA简单实现银行账户存取钱 文章目录 题目重述 问题分析以及求解思路 程序代码 题目重述 定义一个银行帐户类BankAccount实现银行帐户的概念,在BankAccount类中定义两个变量:&q ...
- python定义一个类savingaccount表示银行账户_Python实现信用卡系统(支持购物、转账、存取钱)...
最近一直在做一个有关信用卡系统的项目,所有很少出来给大家打招呼了,今天也该告一段了,本项目是基于python编程语言做的,此信用卡支持购物,转账和存取钱,下面小编把需求及实现思路大概分享一下,仅供参考 ...
- java初级atm取款机,java基础:模拟ATM取款机
package com.atm; import java.util.Scanner; /** * ATM类实现 * * @author 向往的生活 */ public class ATM { publ ...
- python银行账户资金交易管理_Python实现信用卡系统(支持购物、转账、存取钱)
最近一直在做一个有关信用卡系统的项目,所有很少出来给大家打招呼了,今天也该告一段了,本项目是基于python编程语言做的,此信用卡支持购物,转账和存取钱,下面小编把需求及实现思路大概分享一下,仅供参考 ...
- 数据库并发一致性案例分析(存取钱)
原文地址 :http://www.cnblogs.com/zhenyulu/articles/633486.html 本部分内容为<数据库原理>课程中的一个课堂案例,幻灯片提供的动画演示有 ...
- java web atm机_Java项目实现模拟ATM机
本文实例为大家分享了Java实现模拟ATM机的具体代码,供大家参考,具体内容如下 项目名称 模拟ATM机 项目描述 简单实现ATM机功能 代码实现 测试类 public class Test { // ...
- python atm银行取款系统_python ATM机 案例代码
利用目前学的流程控制写的 ''' ATM机 需求: 1.登陆 输入账号输入密码 每日只有3次登陆密码错误的机会,超过3次禁止登陆 2.查询余额 3.存款 4.取款 5.转帐 6.退出 ''' info ...
最新文章
- liunx下的DNS配置
- Oracle10g SQL tune adviser简单介绍【转自ITPUB zhouwf0726】
- 【ROM修改教程】添加高级电源重启菜单(安卓4.0.4官方ROM)
- 征战蓝桥 —— 2017年第八届 —— C/C++A组第6题——最大公共子串
- CodeForces - 1562D2 Two Hundred Twenty One (hard version)(二分)
- OpenWrt配置篇
- 数学入门题——《算法竞赛入门经典-训练指南》
- leetcode[0142]环形链表II,判断是否存在环形链表并找到环形的入口
- 【一天一个C++小知识】010.malloc/free和new/delete
- 【论文研读】基于对偶种群的约束多目标优化进化算法
- Excel学习系列(1)--以文本存储的数字转换为数字
- 【大话设计模式-11】组合模式(案例解析)
- openocd编译安装使用 (基于百问网openjtag工具 ftdi)
- 2022朝花夕拾-持续快速成长
- 什么是抖音小程序 小程序该怎么做
- 三方流通平台:区块链+政务,打造“链上雄安”
- 刘慈欣 计算机工程师,刘慈欣为什么这么厉害 科幻作家刘慈欣作品有哪些
- NCP1342芯片替代料PN8213 65W氮化镓充电器方案
- Linux系统下,绑定USB串口设备号,解决上电USBID随机情况
- 小米网抢购系统开发实践阅读心得