模拟银行ATM系统(基础版)
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;}
}
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;
}
}
}
模拟银行ATM系统(基础版)的更多相关文章
- 实验01——java模拟银行ATM系统
用java写的一个模拟银行系统,比较初级. ATM.java package cn.tedu.yinhang; import java.util.Scanner; /** * @author 赵瑞鑫 ...
- 银行ATM存取款系统(C语言实现)
这里使用的运行工具是DEV C++.老铁们一定要看仔细了.是DEV C++ 仅供借鉴:这个是大一时期写的.大四的时候整理了一下(本人C语言学的也不太好).肯定很多不足和存在漏洞的地方.仅供借鉴.仅供借 ...
- MySQL银行ATM存取款机系统(需求分析)
银行ATM需求文档 一.E-R图形文 二.开发步骤 1.明确需求--数据库设计--编码实现功能--测试 2.绘制e-r图--绘制数据库模型图--使用三大方式规范数据库结构 三.开发思路 1. 模型图综 ...
- 银行ATM机工作流程模拟编程
[编程内容] 编程,模拟一个ATM(Automatic Teller Machine,自动取款机)的工作流程.依据帐户信息:姓名.帐号.密码.余额,完成ATM机功能:登录.显示余额.取款.修改密码. ...
- Java基础面试操作题:线程同步代码块 两个客户往一个银行存钱,每人存三十次一次存一百。 模拟银行存钱功能,时时银行现金数。
package com.swift; public class Bank_Customer_Test { public static void main(String[] args) { /* * 两 ...
- centos 6.x 系统基础优化简版
Centos 6.x 系统基础优化 1.更换国内yum源 删除系统带的centos官方yum源 rm -rf /etc/yum.repos.d/* 使用国内阿里云源 curl -o /etc/yum. ...
- java线程基础巩固---采用多线程方式模拟银行排队叫号以及Runnable接口存在的必要性
采用多线程模拟银行排队叫号: 关于银行拿排队号去叫号的过程我想不必过多解释了,就是有几个业务窗口,并行的处理业务,每处里完一个人,则会叫下一个排队的号去处理业务,一个人是不会被多个窗口工作人员叫号的, ...
- ATM系统开发(Java版)
ATM系统开发 技术点分析 1.面向对象编程 每个用户的账户都是一个对象,所以需要设计账户类Accent用于创建账户对象封装账户信息. 2.使用集合容器 系统需要提供一个容器用于存储这些账户对象的信息 ...
- 高仿中国银行ATM系统
温馨提示由于代码太多只是上传了ATM客户端部分,管理员和超级管理员还有数据库部分上传了工程包,可以直接点击https://i.cnblogs.com/Files.aspx去里面找.package At ...
随机推荐
- echo 在shell及脚本中显示色彩及闪烁警告效果
在shell脚本编写中,echo用于输出字符串等提示信息,当我们需要格外显示色彩及闪烁效果如下: 一.在执行shell中显示色彩: 语法格式: echo -e "\033[颜色1:颜色2m ...
- Yii2.0手册地址
官网打不开,可以看这里 http://yii2.techbrood.com/ ;跟官网里面文档一样.ps:今天真郁闷,官网都打不开
- mysql 中的内置函数
一.字符串函数 select concat(name,"age is",age) from users; insert(str,x,y,insert)//将字符串x位置开始y个位 ...
- win8系统电脑自动关机怎么取消
在使用win8系统的用户会遇到电脑自动关机的情况,这是win8自带的自动关机功能,如果想取消这个功能,只需要通过执行一个命令即可实现.下面小编来为大家讲解一下具体步骤. 1.组合键:win+R,然后在 ...
- ASP.NET -- WebForm -- HttpRequest类的方法和属性
ASP.NET -- WebForm -- HttpRequest类的方法和属性 1. HttpRequest类的方法(1) BinaryRead: 执行对当前输入流进行指定字节数的二进制读取. ( ...
- python3内置函数练习
1. abs() abs() 函数返回数字的绝对值. print(abs(1.5236)) # 1.5236 print(abs(1.0)) # 1.0 2. all() all() 函数用于判断给定 ...
- 《Java大学教程》--第1章 步入Java世界
1.2 软件:用于计算机执行的指令的集合称之为程序(program).单个程序或者一组程序称之为软件(software)1.3 编译:计算机的语言称为机器码(machine code).用编译器(co ...
- ES6+Vue+webpack项目,在ie11中请求后台接口后数据更新,但是页面没有刷新?
因为ie11下,如果GET请求请求相同的URL,默认会使用之前请求来的缓存数据,而不会去请求接口获取最新数据,我用的解决方法是在每个请求发送前,拦截请求并给请求接口的URL后加一个时间戳(new Da ...
- 转 jQuery中的$.extend方法来扩展JSON对象
$.extend方法可以扩展JSON对象,用一个或多个其他对象来扩展一个对象,返回被扩展的对象. 例一 合并 settings 和 options,修改并返回 settings var setting ...
- ant.design React使用Echarts,实力踩坑
最近项目用到Echarts(以下用ec代替),于是照猫画虎得引入到团队的antd项目中,但是遇到2个棘手问题: 1. ec对dom不渲染,检查后发现,原来是全局存在id重复,所以使用React时,最好 ...