本文实例为大家分享了Java实现简单银行ATM功能的具体代码,供大家参考,具体内容如下

实现功能

1、用户需要通过输入银行卡号和密码才能进入ATM系统

2、用户可以在ATM中实现取款、存款、转账、余额查询、退出系统等功能

简单分析

1、创建User类(cardNo,identity,phone,username,password,balance(余额))

2、创建Bank类,主要实现初始化用户、用户登录、显示菜单、取款、存款、转账、余额查询、退出系统等功能。

代码实现

User.java

public class User {

private String username;

private int password;

private String cardNo;

private String identity;

private String phone;

private double blance;

public User() {

}

public User(String username, int password, String cardNo, String identity, String phone, double blance) {

this.username = username;

this.password = password;

this.cardNo = cardNo;

this.identity = identity;

this.phone = phone;

this.blance = blance;

}

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public int getPassword() {

return password;

}

public void setPassword(int password) {

this.password = password;

}

public String getCardNo() {

return cardNo;

}

public void setCardNo(String cardNo) {

this.cardNo = cardNo;

}

public String getIdentity() {

return identity;

}

public void setIdentity(String identity) {

this.identity = identity;

}

public String getPhone() {

return phone;

}

public void setPhone(String phone) {

this.phone = phone;

}

public double getBlance() {

return blance;

}

public void setBlance(double blance) {

this.blance = blance;

}

}

Bank.java

public class Bank {

//创建用户数组

private User[] users=new User[100];

//用户个数

private int size=0;

//当前登录的用户

private User loginuser;

public Bank() {

initial();//初始化用户

}

/**

* 初始化用户

*/

public void initial(){

User user1=new User("钟爱",12346,"6226789234023434","130324192309123074","13133565435",2312313);

User user2=new User("冷冬",12354,"6226789234023567","1305472309123074","13446745675",2333);

User user3=new User("小龙",9893,"6226789234023564","13032414575467457","13145745435",255553);

User user4=new User("赵丽颖",6342,"6226789234029324","130324192647456774","13145675435",288883);

User user5=new User("徐三哥",8445,"6226789234025487","1303241923456744","1457785435",28989);

users[0]=user1;

users[1]=user2;

users[2]=user3;

users[3]=user4;

users[4]=user5;

size=5;

}

/**

* 用户登录

*/

public User login(String cardNo,int password){

for (int i = 0; i

if((users[i].getCardNo().equals(cardNo))&&(users[i].getPassword()==password)){

loginuser=users[i];

return users[i];

}

}

return null;

}

/**

* 显示菜单

*/

public void showMenus(){

Scanner input =new Scanner(System.in);

do { System.out.println("**********************************欢迎进入ATM系统*****************************************");

System.out.println("*********************1 存款 2 取钱 3 转账 4 查询余额 5 修改密码 0 退出***********************");

int choice=input.nextInt();

switch (choice){

case 1:

//取款

save();

break;

case 2:

//存钱

withdraw();

break;

case 3:

//转账

trans();

break;

case 4:

//查询余额

query();

break;

case 5:

//修改密码

revise();

break;

case 0:

//退出ATM系统

System.out.println("欢迎下次使用本系统");

return;

}

} while (true);

}

/**

* 存款操作

*/

public void save(){

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

Scanner input=new Scanner(System.in);

int money=input.nextInt();

if(loginuser!=null){

if(money>0){

loginuser.setBlance(loginuser.getBlance()+money);

System.out.println("存款成功");

System.out.println("您的当前余额为"+loginuser.getBlance());

}else{

System.out.println("输入错误!");

}

}else{

System.out.println("您还未进行账户登录");

}

}

/**

* 取款操作

*/

public void withdraw(){

Scanner input=new Scanner(System.in);

System.out.println("请输入你要取出的金额为:");

int money=input.nextInt();

if(loginuser!=null){

if(money>0&&money<=loginuser.getBlance()){

loginuser.setBlance(loginuser.getBlance()-money);

System.out.println("取款成功");

System.out.println("您的当前余额为:"+loginuser.getBlance());

}else{

System.out.println("输入错误");

}

}else{

System.out.println("您还未进行账户登录");

}

}

/**

* 转账操作

*/

public void trans(){

Scanner input=new Scanner(System.in);

System.out.println("请输入要转入账户的卡号:");

String cardNo=input.next();

User nuser=null;//对方账户

boolean IsExit=false;//判断对方账户是否存在

for (int i = 0; i

if(users[i].getCardNo().equals(cardNo)){

IsExit=true;//检索到对方账户

nuser=users[i];

}

}

if(loginuser==nuser){

System.out.println("不可以自己给自己账户进行转账");

return;

}

if(loginuser!=null){

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

int money=input.nextInt();

if(money>0&&money<=loginuser.getBlance()){

loginuser.setBlance(loginuser.getBlance()-money);

nuser.setBlance(nuser.getBlance()+money);

System.out.println("转账成功");

System.out.println("您当前余额为"+loginuser.getBlance());

System.out.println(nuser.getBlance());

}else{

System.out.println("输入错误");

}

}else{

System.out.println("请登录账户");

}

}

/**

* 查询余额

*/

public void query(){

System.out.println("您的余额为:"+loginuser.getBlance());

}

/**

* 修改密码

*/

public void revise(){

Scanner input=new Scanner(System.in);

System.out.println("请输入您的新密码");

int newpassword=input.nextInt();

for (int i = 0; i < size; i++) {

if(users[i]==loginuser){

users[i].setPassword(newpassword); //进行修改

}

}

System.out.println("密码修改成功");

}

}

BankSystem.java

public class BankSystem {

public static void main(String[] args) {

Scanner input=new Scanner(System.in);

Bank bank=new Bank();

System.out.println("请输入您的卡号:");

String cardNo=input.next();

System.out.println("请输入您的密码:");

int password=input.nextInt();

User user = bank.login(cardNo, password);//用户登录

if(user!=null){

System.out.println(user.getUsername()+"登陆成功");

bank.showMenus();

}else{

System.out.println("登陆失败");

}

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持免费资源网。

java简单atm_Java实现简单银行ATM功能相关推荐

  1. atm有10000元 java_Java实现银行ATM功能示例

    Java实现银行ATM功能示例 发布时间:2020-10-28 14:42:46 来源:亿速云 阅读:71 Java实现银行ATM功能示例?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原 ...

  2. Java实现超级简易的银行ATM机项目(详细注释版)

    首先放一个客户(其实就是老师给的作业)需求的效果图 在这里先准备所需要的类 用户类:卡号 密码 真实姓名 余额 开户时间定义Account类 存储用户信息 封装属性 并提供getXXX和setXXX ...

  3. Java代码简单模仿银行ATM功能

    1.首先要了解的是,这个ATM程序本身是一个简单,只为了完成一些ATM具备的一些方法,并非是真正完成一个ATM的全部功能和需求.(效果如下图) 1.这个下面演示的成功的功能: 2.这张图是输入错误的解 ...

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

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

  5. java模拟atm_Java第一课——模拟ATM机

    Java第一课--模拟ATM机 开学第一节Java课,跟之前老师强调的一样--上课简单说了两句就直接开始了考试. 总结一下第一次做Java遇到的问题: 第一个是老师一直在强调要先考虑整体的思路,先把整 ...

  6. JAVA小练习--实现银行ATM简单功能

    银行ATM简单实现 实现功能 1,用户需要通过输入银行卡号和密码才能进入ATM系统 2,用户可以在ATM中实现取款.存款.转账.余额查询.退出系统等功能 简单分析 1,创建User类(cardNo,i ...

  7. 用Java程序模拟银行ATM机,实现包括存款、取款、查询、转账功能的简单应用

    (1)想象现实世界中的相关操作沙及哪些实体呢?一个是储户,一个是ATM机.因 此根据面向对象中的抽象原则,可将其抽象为两个类:代表储户的账户信息类,代表银行 ATM机的ATM类.外加一个主类(负责实例 ...

  8. java实现简单银行ATM系统

    #ATM系统 ##功能 模拟银行ATM机系统,具有注册.登录功能 用户登录后可实现以下功能: 1)存款 2)取款 3)转账 4)查询 5)退出 ##设计思路 首先,要进行ATM机操作应该具有银行卡和A ...

  9. 写一个简单的自动取款机c语言程序,C语言编程模仿银行ATM自动取款机功能

    编程模仿银行ATM自动取款机功能,要求能实现以下功能: 1. 输入储户基本信息(既开户功能,开户成功需要打印储户基本信息): 2. 开户成功后打印欢迎界面,比如"开户成功,欢迎使用**银行自 ...

最新文章

  1. 独家 | 一文盘点AutoML 库(附PPT等链接)
  2. Linux下MySQL的字符集乱码问题总结
  3. Python基础教程:列表、字典、集合推导式
  4. 利物浦大学comp313课程第一节课
  5. 网络OSI和TCP/IP参考模型
  6. IP/TCP/UDP/RTP/RTCP 包结构图
  7. 基于AgileEAS.NET企业应用平台实现基于SOA架构的应用整合方案-开篇
  8. Java中重定向,转发深入理解 2021-04-26
  9. 厉害了,Netty 轻松实现文件上传!
  10. 拓端tecdat|matlab使用样条插值重采样估计INR数据研究
  11. Google 镜像站
  12. Windows 10 未安装任何音频输出设备 解决方案
  13. pancakeswap 开盘抢跑机器人 (附代码)
  14. 《嵌入式 - Lwip开发指南》第3章 移植LWIP(无系统)
  15. 某网友嵌入式求职经验总结
  16. 书论93 王宗炎《论书法》
  17. 帝国理工学院计算机相关,帝国理工学院计算机
  18. 结构化查询语言(SQL)入门
  19. USB TYPE-C详解
  20. 数码管循环显示0-F,中断函数

热门文章

  1. R语言lm函数拟合多元线性回归模型(无交互作用)、并诊断模型diagnostics、使用plot函数打印回归模型的Q-Q图、残差拟合图、标度-位置图、残差与杠杆关系图
  2. 拼多多网店排名如何提升
  3. 迪拜能否在2020年成为第一个区块链动力城市?
  4. 靠一个微信小程序挣了 10.7 万(文末赠书)
  5. web集群综合项目keepalived+lvs+lamp+nfs+mysql
  6. Sequel 使用 mysql数据库可视化
  7. Python + selenium 爬取淘宝网(销量,店铺名,价格等)
  8. 戴尔台式机bios设置u盘启动教程
  9. python画圣诞帽_使用Python给头像加上圣诞帽或圣诞老人小图标附源码
  10. JAVA程序设计:数组中的最长山脉(LeetCode:845)