本文实例为大家分享了Java实现模拟ATM机的具体代码,供大家参考,具体内容如下

项目名称

模拟ATM机

项目描述

简单实现ATM机功能

代码实现

测试类

public class Test {

//模拟多功能ATM机

public static void main(String[] args) {

ATM atm = new ATM();

atm.opearte();

}

}

主类:实现主方法

public class ATM {

private Bank bank;

public ATM(){

bank = new Bank();

}

private void success(BankCard bankCard) {

while (true) {

System.out.println("请选择:1、查询余额,2、取款,3、存款,4、转账,5、退卡");

Scanner scanner = new Scanner(System.in);

int choice = scanner.nextInt();

if (choice == 5) {

return;

}

switch (choice) {

case 1:

int money = bank.printf(bankCard);

System.out.println("余额:" + money);

break;

case 2:

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

money = scanner.nextInt();

bankCard.withdraw(money);

break;

case 3:

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

money = scanner.nextInt();

bankCard.deposit(money);

break;

case 4:

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

int id = scanner.nextInt();

BankCard card = bank.transfer(id);

if(card != null){

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

money = scanner.nextInt();

if(money <= bankCard.getMoney()){

bankCard.withdraw(money);

card.deposit(money);

}else {

System.out.println("转账失败");

}

}else {

System.out.println("未找到该账户");

}

break;

default:

}

}

}

private void login(){ //登录

System.out.println("请输入账号,密码");

Scanner scanner = new Scanner(System.in);

int id = scanner.nextInt();

int password = scanner.nextInt();

BankCard bankCard = bank.search(id,password);

if(bankCard != null){

System.out.println("登录成功");

success(bankCard);

}else {

System.out.println("登录失败,请注册");

}

}

private void register(){ //注册

System.out.println("请输入账号,密码");

Scanner scanner = new Scanner(System.in);

int id = scanner.nextInt();

int password = scanner.nextInt();

BankCard bankCard = bank.search(id,password);

if(bankCard != null){

System.out.println("该账号已存在,请直接登录");

}else {

bank.addcard(id,password);

System.out.println("注册成功");

}

}

public void opearte() {

while (true) {

System.out.println("请选择:1、登录,2、注册,3、退出");

Scanner scanner = new Scanner(System.in);

int choice = scanner.nextInt();

if (choice == 3) {

return;

}

switch (choice) {

case 1:

login();

break;

case 2:

register();

break;

default:

}

}

}

}

银行类:一个银行对应多个ATM机

public class Bank {

private BankCard[] bankCards;

private final int INITSIZE = 10;

private int size;

public Bank(){

bankCards = new BankCard[INITSIZE];

size = 0;

}

public BankCard search(int id,int password){ //搜索

BankCard[] bankCard = bankCards;

for(int i=0;i

if(bankCards[i].getId() == id && bankCards[i].getPassword() == password){

return bankCard[i];

}

}

return null;

}

public void addcard(int id,int password){ //注册

BankCard bankCard = new BankCard(id, password);

if (size == bankCards.length){

bankCards = Arrays.copyOf(bankCards,bankCards.length * 2);

}

bankCards[size++] = bankCard;

}

public int printf(BankCard bankCard){ //显示余额

return bankCard.getMoney();

}

public BankCard transfer(int id){

for(int i=0;i

if(bankCards[i].getId() == id){

return bankCards[i];

}

}

return null;

}

}

银行卡类:不同账户的操作

public class BankCard {

private int id;

private int password;

private int money;

private int size = 0;

public BankCard(int id,int password){

this.id = id;

this.password = password;

money = 0;

}

public int getId(){

return id;

}

public int getPassword(){

return password;

}

public int getMoney(){

return money;

}

public void withdraw(int money){ //取款

if(this.money >= money){

this.money -= money;

}else {

System.out.println("取款失败");

}

}

public void deposit(int money){ //存款

this.money += money;

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持云海天教程。

原文链接:https://blog.csdn.net/Sampson_S/article/details/105166915

java程序模拟atm机_Java项目实现模拟ATM机相关推荐

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

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

  2. java批量处理数据库语句_Java项目中调用bat批处理进行多用户数据库备份

    Java项目中调用bat批处理配合使用BCP进行多用户数据的备份 一.项目需求 最近项目中需要对数据库(Sql Server系列数据库)进行备份.项目中的需求不是简单的整个数据库的备份,而是根据用户来 ...

  3. java程序员面试技术_java程序员面试应该具备的一些基本技能

    这里列举一些Java程序员面试应该要具备的一些基本技能,仅当参考. 1.基本语法 包括static.final.transient等关键字的作用,foreach循环的原理等等.越简单的问题越能看出一个 ...

  4. java程序员那些提升_Java程序员如何进行自我提升?

    只有不断积累项目经验以及提高自己的技术,如果一直没有明确自己的职业规划,请扪心自问: 1.我到底适不适合当一名程序员? 2.我到底应不应该一辈子以程序员为职业? 3.我对编程到底持有的是一种什么样的态 ...

  5. Java程序员 面试如何介绍项目经验? Java程序员应该如何介绍自己的项目经验和自我介绍?面试如何突出自己

    Java程序员项目经验介绍:背景:姓名:张三:年龄:25:籍贯:安徽: 毕业学校:南京审计学院:工作经验:2年:求职城市:北京面试官你好,我叫张三,今年25岁,来自安徽,毕业于南京审计学院计算机专业, ...

  6. java程序员基础算法_java程序员必知的十种程序算法

    <java程序员必知的十种程序算法>由会员分享,可在线阅读,更多相关<java程序员必知的十种程序算法(11页珍藏版)>请在人人文库网上搜索. 1.java程序员必学的十种程序 ...

  7. 下面选项中不是开发java程序的步骤是_Java基础试题及其答案2

    Java试题 1) java程序中,main方法的格式正确的是().(选择一项) a)static void main(String[] args) b)public void main(String ...

  8. java程序员个人能力介绍_Java操作员能力问题

    java程序员个人能力介绍 Java Operators Aptitude Questions and Answers: This section provides you Java Operator ...

  9. java程序开发个人笔记_Java程序开发入门笔记

    Java程序开发入门笔记 如果你是这一个错误的话:错误:编码GBK的不可映射字符 这是因为我们编写的代码一般都是utf-8的格式而控制台用的不是utf-8格式所以就会出现中文输出的错误.这个时候我们可 ...

最新文章

  1. 一个优秀的CIO,应该具备如何的知识体系和管理能力?
  2. Android --- 图片的特效处理
  3. 成功解决The scripts freeze_graph.exe, saved_model_cli.exe, tensorboard.exe, tflite_convert.exe, toco.exe
  4. 怎样知道邮箱的端口_AllenNLP源码拓展——训练结束向邮箱发邮件
  5. linux常见命令_Linux系统常见命令
  6. USC提出拟牛顿法深度学习优化器Apollo,效果比肩SGD和Adam
  7. PHP数据结构算法实例
  8. 课时47.datalist标签(了解)
  9. ajax前台传json到后台解析的方法以及注意事项
  10. 第1章 程序设计和C语言
  11. 手机听筒被灰尘堵塞了如何清洗?
  12. [17] 楼梯(Stairs)图形的生成算法
  13. python课程思维导图_零基础Python学习思维导图,记得收藏
  14. vue自学入门-2(vue创建项目)
  15. cvLoadImage()的调用参数设置
  16. 2020个人年度总结
  17. SSH Secure File Transfer 传输错误解决方法
  18. 在Win10系统中防火墙如何设置IP白名单
  19. Jmeter录制脚本fiddler fiddler录制jmeter脚本
  20. Go 插件系统,一个凉了快半截的特性?

热门文章

  1. mAP与IOU的简单介绍
  2. OpenCV学习笔记(三):多通道图像分离、混合算子:split(),merge()
  3. cocos2dx实现经典飞机大战
  4. JS 逆向 --- 过无限debugge、hook、js混淆还原、控制流混淆
  5. 掌控谈话~拔刺(说出你对我的指控)
  6. php 获取两个日期相隔几周,怎么样计算2个日期之间相差几周
  7. mysql先删后增并发时出现死锁_MySQL死锁案例分析一(先delete,再insert,导致死锁)...
  8. mysql 5.7安装完密码是多少_关于mysql5.7.18的安装并修改初始密码的图文教程
  9. c# 从地址拷贝byte_面试必备的 “零拷贝” 问题!从头给你说!
  10. bean注入失败的几种情况和解决思路:NoSuchBeanDefinitionException: No qualifying bean of type