本文实例为大家分享了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;

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。

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

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

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

  2. java模拟atm_Java项目实现模拟ATM机

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

  3. java web网上书店_java web简易网上书店项目系列,使用MVC模式(servlet+jstl+dbutils),开篇...

    一. 针对很多java web初学者入门困难的问题,笔者利用一个小型web项目,一步一步的展示java web开发方法,每一个章节引入一些java web开发的重点知识,让同学们可以将java web ...

  4. java web 请求跟踪_java web 项目跟踪用户操作

    java web项目,就几个JSP页面,本人怎么跟踪用户什么时间点击了那个jsp页面,什么时候登录的,什么时候关闭jsp页面的,把跟踪用户的操作(基本上就上面这三个操作),存入数据库里面,什么时候干什 ...

  5. java web开发技巧_java web开发技巧

    1 java web开发技巧 java学习没有诀窍,也没有捷径.只有脚踏实地学好java知识,把理论知识灵活运用实践,多学,多问,多操作,只要这样才能真正成为java编程高手.下面小编给大家说说jav ...

  6. java web应用开发_Java Web应用开发基础

    模块1 Java Web应用开发概述 1.1 Web基础知识 1.1.1 Web应用及其开发 1.1.2 动态网页 1.1.3 B/S结构 1.1.4 JSP简介 1.2 创建第一个Web项目 1.2 ...

  7. java web 来源页_Java:Java Web--分页效果

    先来看一看分页的实现原理 万能公式.jpg 项目目录.PNG 首先,新建Java Web项目 一. 梳理业务逻辑 重定向到URL(跳转到StudentViewAction页面)//index.jsp页 ...

  8. java web tomcat 实例_Java Web应用开发实例

    [1.GIS的概念 1.1什么是gis 地理信息系统 (GIS, Geographic Information System) 是一种基于计算机的工具,它可以对在地球上存在的东西和发生的事件进行成图和 ...

  9. java web 数据库操作_Java Web----Java Web的数据库操作(二)

    Java Web的数据库操作 三.JDBC操作数据库 上一篇介绍了JDBC API,之后就可以通过API来操作数据库,实现对数据库的CRUD操作了. 下面仅以示例 的方式对数据库操作进行说明 1. 添 ...

最新文章

  1. 【ACM】杭电OJ 2023
  2. google hdr+_更好的隐私权控制使Google+死了
  3. tcp状态机-三次握手-四次挥手以及常见面试题
  4. 4.数据库数据导入查询数据库信息出现乱码问题
  5. java 导出word 表格里写多行内容_论文Tips || 宅家写论文干货来了!是时候重启真正的论文了!...
  6. 计算机必备专用英语词汇
  7. CTF-密码学-培根密码
  8. html5标签含义元素周期表
  9. 计算机启动时硬盘指示灯不亮,电脑启动时没有自检声,硬盘指示灯不亮
  10. redis 学习曲线及记录笔记
  11. C++ 视频播放开源库
  12. 微信小程序联盟:官方文档+精品教程+demo集合(12月更新……)
  13. 王和勇计算机软件,图像空间中的鉴别型局部线性嵌入方法
  14. 翻译python代码的软件_科普 | 内外翻,你是不是一直搞反了?
  15. 【敏捷】敏捷时代的建模:敏捷团队的扩张除了代码还需要什么? (ZZ)
  16. plc顺序控制设计法的设计基本步骤
  17. 如何知道计算机显示器尺寸,如何查看电脑显示器尺寸?
  18. 整车OTA被“双规”
  19. ARMv8-AArch64简述
  20. 当前计算机什么专业好就业找工作,计算机哪个专业最好就业

热门文章

  1. C# 程序关闭托盘图标不会自动消失
  2. PostgreSQL之如何敲开PG的大门?
  3. java 当前线程 等待_Java 多线程等待
  4. UIWebView中添加活动指示器,来化解用户等待心理
  5. 【GameMaker 极速入门】#1环境配置
  6. 苹果Arcade订阅常见问题
  7. 微信开发者工具-真机调试,可查看接口信息
  8. 纳税服务系统四(角色模块)【角色与权限、角色与用户】
  9. 《web开发: Ajax 介绍》
  10. C++习题 倒置排序 OpenJudge