Java实现超级简易的银行ATM机项目(详细注释版)
首先放一个客户(其实就是老师给的作业)需求的效果图
在这里先准备所需要的类
用户类:卡号 密码 真实姓名 余额 开户时间定义Account类 存储用户信息 封装属性 并提供getXXX和setXXX
银行业务类: 属性:所有的储户 开户 、 存款、 取款 、查询余额、 转账BankService List<Account> 5个方法日期工具类 :方便调用
1. 获取系统当前日期时间的方法 static键盘输入的工具类:
1.获取键盘输入的整数的方法 static
2.获取键盘输入的小数的方法 static
3.获取键盘输入的字符串的方法 static系统操作界面: 用户在没有选择6,退出之前,可以重复做业务死循环 用户不退出,永远不退出
在这里先给出几个类 (实不相瞒, 还没写完, 也没法给全部)
Account 类
package com.ATM.bean;// 卡号 密码 真实姓名 余额 开户时间
// 储存用户信息
public class Account {private String cardNum;private int password;private String accountName;private double money;private String createDate;public Account() {}public Account(String cardNum, int password, String accountName, double money, String createDate) {this.cardNum = cardNum;this.password = password;this.accountName = accountName;this.money = money;this.createDate = createDate;}public String getCardNum() {return cardNum;}public void setCardNum(String cardNum) {this.cardNum = cardNum;}public int getPassword() {return password;}public void setPassword(int password) {this.password = password;}public String getAccountName() {return accountName;}public void setAccountName(String accountName) {this.accountName = accountName;}public double getMoney() {return money;}public void setMoney(double money) {this.money = money;}public String getCreateDate() {return createDate;}public void setCreateDate(String createDate) {this.createDate = createDate;}
}
日期工具类 DateUtil
获取 yyyyMMddHHmmss + 1000以内的随机数用来作为卡号
package com.ATM.util;import java.text.SimpleDateFormat;
import java.util.Date;/*** 日期工具类*/
public class DateUtil {/*** 获取系统当前日期* @param option 1: yyyy-MM-dd HH:mm:ss 2: yyyyMMddHH:mm:ss* @return*/public static String getDate(int option){Date date=new Date();String pattern="";if (option!=1&&option!=2){pattern="yyyy-MM-dd HH:mm:ss";}else{pattern=(option==1?"yyyy-MM-dd HH:mm:ss":"yyyyMMddHHmmss");}SimpleDateFormat sdf=new SimpleDateFormat(pattern);return sdf.format(date);}
}
键盘输入工具类 KeyBoardInputUtil
package com.ATM.util;import java.util.Scanner;/*** 键盘输入工具类*/
public class KeyBoardInputUtil {/*** 获取键盘输入的整数* @return*/public static int getInt(){Scanner sn=new Scanner(System.in);int num=sn.nextInt();return num;}/*** 获取键盘输入的小数* @return*/public static double getDouble(){Scanner sn=new Scanner(System.in);double num=sn.nextDouble();return num;}/*** 获取键盘输入的字符串* @return*/public static String getString(){Scanner sn=new Scanner(System.in);String num=sn.next();return num;}
}
还有两个最重要的类还没完成, 等写完再发 (应该不会忘记吧…)
还有两个类一个是银行的业务类 BankService
还有一个是银行的操作页面 BankView
然后这个小的银行ATM项目就完成啦
在存储方面会用的是集合 ArrayList 来存储数据
嗯, 暂时就这样, 有没有兄弟期待想要 o( ̄▽ ̄)ブ
下篇在这!!!直接点击跳转到主类!!
Java实现超级简易的银行ATM机项目(详细注释版)相关推荐
- ATM柜员机JAVA课程设计_JAVA课程设计报告银行ATM机系统.doc
JAVA课程设计报告银行ATM机系统 Java课程设计报告 题 目 银行ATM机系统 所在院系 软件学院 学生姓名 金磊 专 业 R机械+软件 班 级 R机械094 学 号 2011年 7 月 15日 ...
- 用Java程序模拟银行ATM机,实现包括存款、取款、查询、转账功能的简单应用
(1)想象现实世界中的相关操作沙及哪些实体呢?一个是储户,一个是ATM机.因 此根据面向对象中的抽象原则,可将其抽象为两个类:代表储户的账户信息类,代表银行 ATM机的ATM类.外加一个主类(负责实例 ...
- 面向对象程序设计——银行ATM机系统
文章目录 针对于面向对象设计--做一个简单的银行ATM机系统 ATM机需求分析 用户类 ATM机类 银行类 注册操作的大概流程 登录操作的大概流程 用户类代码 ATM机类代码 bank类代码(主类) ...
- python实现模仿银行ATM机
python实现模仿银行ATM机 学习了一个星期,分享一下自己的学习成果.本星期实现的是银行ATM机的功能. 实现效果如下: 开始界面,输入用户名密码之后到达主界面. 选择账户信息效果: 打印了个人的 ...
- java编写的atm机项目结题报告_java编写的atm机项目结题报告.docx
java编写的atm机项目结题报告 java编写的atm机项目结题报告 篇一:java自动取款机模拟程序报告含源代码 合肥学院 计算机科学与技术系 课程设计报告 XX-XX学年第一学期 课学学专指 业 ...
- java存款程序_ATM 用java语言做的一个模拟ATM机的程序。可支持取款存款等操作 Develop 238万源代码下载- www.pudn.com...
文件名称: ATM下载 收藏√ [ 5 4 3 2 1 ] 开发工具: Java 文件大小: 865 KB 上传时间: 2015-04-13 下载次数: 0 提 供 者: 葛宏涛 详细说明: ...
- Java程序模拟银行ATM机,实现存款、取款、查询、转账功能等操作
一.介绍 ATM柜员机模拟程序 程序的功能点如下: 要求使用图形用户界面: 通过主界面,可以进入管理员界面.用户界面.系统设置界面.退出: 启动软件,可以进入用户模式,也可以进入系统管理模式: 进入系 ...
- java实现银行ATM机操作
这是一个简单的模拟银行系统的一个程序,用来实现ATM机操作,用java写的, 下面是实现代码: package com.ATM;import java.util.Scanner;import java ...
- Java 交互小实例:(ATM机模拟、饮料自助机模拟)
交互实例: ( 算法思想基本应用:基本语句的熟练掌握.逻辑思维.注意第二个小程序的小细节处理.) 1.ATM机 取款 ------模拟: 功能:查询余额.取款.存款.退卡. 具体代码: pac ...
最新文章
- jquery 使用jquery操作Dom
- PyTorch tensorboard报错:TensorBoard logging requires TensorBoard version 1.15 or above
- 【Linux】一步一步学Linux——ps命令(119)
- python从数分到数编(part2)--随机数及数组
- ofo 99 元押金变 97 元;华为“抛弃”美国;App Store 涉嫌垄断 | 极客头条
- 通过注册表修改打开方式
- BZOJ 1412: [ZJOI2009]狼和羊的故事( 最小割 )
- Java相关技术文档汇总
- Chapter 5 (Limit Theorems): Markov and Chebyshev Inequalities (马尔可夫和切比雪夫不等式)
- mysql表空间加密
- iOS音乐播放器(歌词自动滚动)
- 如何学习单片机——从51过渡到STM32
- 两码一号:整体方案回顾
- cf-#501 div3 C. Songs Compression
- 互联网专利战场急先锋-高智发明,微软苹果等撑腰
- 百家云CEO李钢江给员工们的一封信(转载)
- 为了苦苦寻觅视频素材的你,我们整理了 9 个版权视频网站
- 利用Winrar自解压捆绑文件
- 7-6 王牌特工3 (15 分)
- 登录服务器虚拟控制台,服务器控制台登录类
热门文章
- 个人对23种设计模式总结 优缺点理解并分析
- 一个双工模式协商的问题
- 图片处理看这篇就完了「GitHub 热点速览 v.21.48」
- 如何将卫星影像(高程)导出为地方坐标系
- 部署实战 | 手把手教你在Windows下用TensorRT部署YOLOv8
- SQLAlchemy一对多,多对多操作
- iOS - 外包开发常用第三方库(1)
- 灾备克隆后solr启动失败:org.apache.solr.common.SolrException: Error opening new searcher
- Django动态获取mysql连接,django model中的choices 动态从数据库中获取
- 动画 ui - 收藏集 - 掘金