Account类

package ATM;

public class Account {//定义Account类

private String accountID;//用于存储学生的用户账号(由八位数字组成)

private String accountname;//用于存储账户的名称

private String operatedate;//用于存储操作的时间,由十位字符组成,显示格式"XXXX-XX-XX"

private int operatetype;//用于存储操作账户的类型

private String accountpassword;//用于用户密码,由六位数字组成

private int accountbalance;//用于存储账户余额

private int amount;//操作流水金额

//set函数,设置变量信息

public void setaccountID(String accountID) {this.accountID=accountID;}

public void setaccountname(String accountname) {this.accountname=accountname;}

public void setoperatedate(String operatedate) {this.operatedate=operatedate;}

public void setoperatedate(int operatetype) {this.operatetype=operatetype;}

public void setaccountpassword(String accountpassword) {this.accountpassword=accountpassword;}

public void setaccountbalance(int accountbalance) {this.accountbalance=accountbalance;}

public void setamount(int amount) {this.amount=amount;}

//get函数,读取变量信息

public String getaccountID() {return accountID;}

public String getaccountname() {return accountname;}

public String getopertedate() {return operatedate;}

public int getoperatetype() {return operatetype;}

public String getaccountpassword(){return accountpassword;}

public int getaccountbalance() {return accountbalance;}

public int getamount() {return amount;}

}

AccountManage类

package ATM;

import java.util.*;

public class AccountManager {

//定义AccountManager类

Account a=new Account();//定义Account类的一个对象

static Scanner x=new Scanner(System.in);

//模块一

public void denglu() {//模拟输入账号功能

System.out.println("***************************************************************");

System.out.println("                欢迎使用中国工商银行自动柜员系统");

System.out.println("***************************************************************");

for(; ;) {

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

a.setaccountID(x.next());

System.out.println("***************************************************************");

if(a.getaccountID().length()!=8)System.out.println("该卡不是工行卡");//判断账号位数是否为8位,不为8位跳转到账号输入界面

else {System.out.println("账号登陆成功");break;}//账号位数为8,跳出循环

}

}

//模块二

public void mima() {//模拟密码输入功能

int j=1;

System.out.println("***************************************************************");

System.out.print("             欢迎");

System.out.print(a.getaccountID());//输出账号信息

System.out.println("使用中国工商银行自助柜员系统");

System.out.println("***************************************************************");

for(int i=1;i<=3;i++) {//模拟密码输入功能

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

a.setaccountpassword(x.next());

System.out.println("***************************************************************");

if(a.getaccountpassword().length()!=6) {

System.out.println("密码录入错误");

j++;

if(j==4)System.out.println("该账号三次录入密码错误,该卡已被系统没收,请与工行及时联系处理");

}//判断密码是否为6位,不为6位跳转到密码输入界面;密码录入三次错误,输出相应语句

else {System.out.println("密码输入成功");break;}//密码位数为6,跳出循环

}

}

//界面表头

public void a() {

System.out.println("***************************************************************");

System.out.print("      欢迎");

System.out.print(a.getaccountID());//输出账号信息

System.out.println("使用中国工商银行自助柜员系统");

System.out.println("***************************************************************");

}

//模块三

public void menu() { //系统主界面

a();

System.out.println("             1、  存款;");

System.out.println("             2、  取款;");

System.out.println("             3、 转账汇款;");

System.out.println("             4、 修改密码;");

System.out.println("             5、 查询余额;");

System.out.println("***************************************************************");

}

//模块四

public void cunkuan() {//模拟存款过程

a();

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

a.setamount(x.nextInt());

a();

a.setaccountbalance(a.getamount()+a.getaccountbalance());

System.out.println("               当前账户存款操作成功。");

System.out.print("               当前账户余额为:"+a.getaccountbalance());

System.out.println("元");

}

//模块五

public void qukuan() {//模拟取款过程

a();

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

a.setamount(x.nextInt());

System.out.println("***************************************************************");

if(a.getamount()>a.getaccountbalance())System.out.println("账户余额不足");

else {

a();

System.out.print("               当前账户取款操作");

System.out.print(a.getamount());

System.out.println("元成功。");

a.setaccountbalance(a.getaccountbalance()-a.getamount());

System.out.print("               当前账户余额为:"+a.getaccountbalance());

System.out.println("元");

System.out.println("***************************************************************");

}

}

//模块六

public void zhuanzhang() {//模拟转账汇款功能

a();

System.out.println("               请输入转账账户;");

a.setaccountID(x.next());

System.out.println("***************************************************************");

a();

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

a.setamount(x.nextInt());

System.out.println("***************************************************************");

if(a.getamount()>a.getaccountbalance())System.out.println("账户余额不足");

else {

a();

System.out.print("    请确认是否向");

System.out.print(a.getaccountID());

System.out.print("转账");

System.out.print(a.getamount());

System.out.println("元");

System.out.println("***************************************************************");

System.out.println("N 不转账 Y 确认转账");

String n=x.next();

if(n.equals("N")) menu();

if(n.equals("Y")) {a();

System.out.print("当前账户向");

System.out.print(a.getaccountID());

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

System.out.print(a.getamount());

System.out.println("元");

a.setaccountbalance(a.getaccountbalance()-a.getamount());

System.out.print("               当前账户余额为:"+a.getaccountbalance());

System.out.println("元");

System.out.println("***************************************************************");

}

}

}

//模块七

public void xiumi() {

a();

System.out.println("请输入当前密码:");

System.out.println("请输入修改密码:");

System.out.println("请输入确认密码:");

a();

System.out.println("                     当前账户密码修改成功");

System.out.println("***************************************************************");

}

//模块八

public int yue() {

return a.getaccountbalance();

}

public static void main(String[] args) {

AccountManager A = new AccountManager();//定义AccountManager类的一个对象

A.denglu();//输入账号功能

A.mima();//密码输入功能

for(; ;) {

A.menu();

int m=x.nextInt();

switch(m) {

case 1:A.cunkuan();break;

case 2:A.qukuan();break;

case 3:A.zhuanzhang();break;

case 4:A.xiumi();break;

case 5:A.yue();break;

}

}

}

}

编后感想:

第一次使用java高级程序语言编写这样系统性的程序,最大的感受就是写不完!当然也有许多的收获:第一,要注意编写注释,即使是自己看自己的代码,经过几天之后都有可能会看不懂,所以一定要注意写注释,虽然你可能觉得会有一点浪费时间,但以后的好处就能显示出来,增加代码的可读性,也显得条理清晰,自己也有继续写下去的信心;第二,因为这种系统性的程序一般都会比较庞大,所以模块化就显得相当的重要;先通读题目要求然后在心里分成几个部分;逐步进行编写,这样既可以更容易地找出自己此部分中存在的bug,然后进行改正;也可以使得得分最大化。第三,可以合理构造函数,从而简化代码程序,比如该程序中的a()函数,因为在每个模块当中都有片头部分而且相同,所以我们就可以构造这样一个函数,不用在每回都把代码复制一遍,直接调用函数即可;第四,尽量简化主函数,实现类的封装;调用类中的函数,简便易懂,给人一种清晰地感觉。

java人账户atm模拟存款,模拟银行ATM系统(基础版)相关推荐

  1. java 模拟 电话本系统 (基础版)

    java 模拟 电话本系统 (基础版) 需求:注意的是,联系人的id是自增长的 实现的功能: java综合编程练习:基本的增删改查,对于逻辑数据的过滤,这块做了简单的处理,暂不优化 ContactPe ...

  2. ATM柜员机JAVA课程设计_JAVA课程设计报告银行ATM机系统.doc

    JAVA课程设计报告银行ATM机系统 Java课程设计报告 题 目 银行ATM机系统 所在院系 软件学院 学生姓名 金磊 专 业 R机械+软件 班 级 R机械094 学 号 2011年 7 月 15日 ...

  3. 签到考勤java课设_Java程序设计课程设计学生考勤系统Word版

    <Java程序设计课程设计学生考勤系统Word版>由会员分享,可在线阅读,更多相关<Java程序设计课程设计学生考勤系统Word版(6页珍藏版)>请在人人文库网上搜索. 1.传 ...

  4. java全栈系列之JavaSE-编写银行基金收益系统031

    下午小滨在上班摸鱼的途中划到了基金突然灵感一闪,然后用前段时间学的java基础知识写了一个计算基金金额的程序,有不足之处还请路过的大神批评指正哈 运行结果: 请输入每个月投入的金额:5000 每年预计 ...

  5. 基于java eclipse+jsp+mysql+servlet+Spring的学生信息管理系统基础版

    项目背景 学生信息档案的管理对于学校的管理者来说至关重要,学生信息是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分.特别是近几年来,国家政策的调整,我国高等院校大规模的扩招,给高等院校的 ...

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

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

  7. java存款程序_JAVA实现账户取款和存款操作

    这篇文章主要介绍了JAVA实现账户取款和存款操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 JAVA 编写一个程序完成从某账户取款和存款的操作 ...

  8. java控制台存钱方法_JAVA实现账户取款和存款操作

    这篇文章主要介绍了JAVA实现账户取款和存款操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 JAVA 编写一个程序完成从某账户取款和存款的操作 ...

  9. java存款取款程序_JAVA实现账户取款和存款操作

    这篇文章主要介绍了JAVA实现账户取款和存款操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 JAVA 编写一个程序完成从某账户取款和存款的操作 ...

  10. java取款_JAVA实现账户取款和存款操作

    这篇文章主要介绍了JAVA实现账户取款和存款操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 这篇文章主要介绍了JAVA实现账户取款和存款操作,文 ...

最新文章

  1. POJ 3268 迪杰斯特拉图论 置换找最短路
  2. 生成4位验证码(后台)
  3. Tableau实战系列Tableau基础概念全解析 (三)-维度和度量
  4. 在springboot中使用easyexcel导出数据excel表格
  5. 【CyberSecurityLearning 6】IIS之WEB服务器和FTP服务器
  6. [Java]Thinking in Java 练习2.2
  7. 关于域名解析到服务器的问题
  8. windows和Linux利用Python快速搭建一个网站
  9. Web框架中的ORM框架
  10. php比较两个变量的值_总结PHP不用第三个变量交换两个变量的值的几种方法
  11. java多线程交替打印_java多线程 更优雅的实现线程同步:交替打印A、B LockSupport实现...
  12. Safari导入Chrome书签
  13. 计算机毕业设计springboot微信小程序购物商城源码
  14. WPF下CefSharp的使用
  15. 基于PyTorch的深度学习--创建卷积神经网络-面向对象的神经网络
  16. MySQL garbled code
  17. python实验报告代写_Python 读写CSV作业代写代做、代写Python I/O文件读写程序作业、代写代做python 实验报告...
  18. B站风清扬-Java面试总结
  19. 使用 External Secrets Operator 安全管理 Kubernetes Secrets
  20. macbookair有没有touchbar_如何评价新 MacBook Pro 上的 Multi-Touch Bar?

热门文章

  1. 取消2008关机对话框
  2. 数据--第48课 - 顺序表和有序表查找
  3. 概率论与数理统计基础
  4. 凸集、锥、凸锥、正常锥的辨析
  5. python_类装饰器
  6. shell日期加减及数组循环
  7. 目前M院M师的教学乱象
  8. 在ios中制作3d文字球效果
  9. mysql优化之insert/delete/update
  10. Hibernate插入、查询、删除操作 HQL (转)