ATM源码
package atm;//张秋亮,信1705-3,20173529
public class Account
{
private String accountID;
private String accountname;
private String operatedate;
private int operatetype;
private String accountpassword;
private int accountbalance;
private int amount;
public void setaccountID(String a)
{
accountID=a;
}
public void setaccountname(String b)
{
accountname=b;
}
public void setoperatedate(String c)
{
operatedate=c;
}
public void setoperatetype(int d)
{
operatetype=d;
}
public void setaccountpassword(String e)
{
accountpassword=e;
}
public void setaccountbalance(int f)
{
accountbalance=f;
}
public void setamount(int g)
{
amount=g;
}
public String getaccountID()
{
return accountID;
}
public String getaccountname()
{
return accountname;
}
public String getoperatedate()
{
return operatedate;
}
public int getoperatetype()
{
return operatetype;
}
public String getaccountpassword()
{
return accountpassword;
}
public int getaccountbalance()
{
return accountbalance;
}
public int getamount()
{
return amount;
}
public Account() {}
public void menu(int i)
{
System.out.println("***************************************************************");
System.out.println(" 欢迎"+i+"使用中国工商银行自助柜员系统");
System.out.println("***************************************************************");
System.out.println(" 输入您的密码:");
System.out.println("***************************************************************");
}
public void menu0()
{
System.out.println("***************************************************************");
System.out.println(" 欢迎使用中国工商银行自助柜员系统");
System.out.println("***************************************************************");
System.out.println(" 输入您的账号:");
System.out.println("***************************************************************");
}
public void menu1(int i)
{
System.out.println("***************************************************************");
System.out.println(" 欢迎"+i+"(账户名称)使用中国工商银行自助柜员系统");
System.out.println("***************************************************************");
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 menu2(int i)
{
System.out.println("***************************************************************");
System.out.println("欢迎"+i+"(账户名称)使用中国工商银行自助柜员系统");
System.out.println("****************************************************************");
System.out.println("请输入存款金额;");
System.out.println("****************************************************************");
}
public void cun(double m,int i)
{
System.out.println("***************************************************************");
System.out.println("欢迎"+i+"使用中国工商银行自助柜员系统");
System.out.println("****************************************************************");
System.out.println("当前账户存款操作成功。");
System.out.println("当前账户余额为:"+m+"元");
System.out.println("****************************************************************");
}
public void qu(int i)
{
System.out.println("***************************************************************");
System.out.println("欢迎"+i+"使用中国工商银行自助柜员系统");
System.out.println("****************************************************************");
System.out.println("当前账户每日可以支取 2 万元。");
System.out.println("1. 100");
System.out.println("2. 500");
System.out.println("3. 1000");
System.out.println("4. 1500");
System.out.println("5. 2000");
System.out.println("6. 5000");
System.out.println("7. 其他金额 ");
System.out.println("8. 退卡 ");
System.out.println("9. 返回");
System.out.println("****************************************************************");
}
public void zhuan(int i)
{
System.out.println("*************************************************************** ");
System.out.println("欢迎 "+i+"使用中国工商银行自助柜员系统 ");
System.out.println("**************************************************************** ");
System.out.println("请输入转账账户; ");
System.out.println("**************************************************************** ");
}
public void jine(int i)
{
System.out.println("*************************************************************** ");
System.out.println("欢迎"+i+" 使用中国工商银行自助柜员系统 ");
System.out.println("*************************************************************** ");
System.out.println("请输入转账金额; ");
System.out.println("*************************************************************** ");
}
public void mima(int i)
{
System.out.println("*************************************************************** ");
System.out.println("欢迎"+i+" 使用中国工商银行自助柜员系统 ");
System.out.println("*************************************************************** ");
System.out.println("请输入当前密码: ");
System.out.println("请输入修改密码: ");
System.out.println("请输入确认密码: ");
System.out.println("*************************************************************** ");
}
}
Account.java
package atm;
import java.util.Scanner;
import java.util.ArrayList;
public class AccountManager
{
public static void main(String[] args) {
Account account = new Account ();
double m=0;
int i=0;
int k=0;
int j=0;
String l="";
Scanner in=new Scanner(System.in);
boolean ture = false;
while(!ture)
{
do
{
account.menu0();
i=in.nextInt();
while(i<10000000||i>99999999)
{
System.out.println(" 该卡不是工行卡 ");
System.out.println(" 重新输入您的账号");
i=in.nextInt();
}
account.menu(i);
for(k=0;k<3;k++)
{
j=in.nextInt();
if(j>100000&&j<999999)
{
k=5;
break;
}
else if(j<100000||j>999999)
{
System.out.println("密码输入错误");
}
else if(j==888888)
{
System.out.println("密码输入错误");
}
}
if(k==3)
{
System.out.println("该账号三次录入密码错误,该卡已被系统没收,请与工行及时联系处理");
}
}while(k!=5);
do
{
account.menu1(i);
l=in.next();
switch(l){
case "1":
{
account.menu2(i);
m=in.nextDouble();
while(m<0||m-(int)m>0.00001)
{
System.out.println("输入金额有误");
account.menu2(i);
m=in.nextInt();
}
account.cun(m,i);
};break;
case "2":
{
account.qu(i);
int n;
n=in.nextInt();
switch(n)
{
case 1:
{
if(m<100)
System.out.println("账户余额不足");
else
m=m-100;
};break;
case 2:{
if(m<500)
System.out.println("账户余额不足");
else
m=m-500;
};break;
case 3:{
if(m<1000)
System.out.println("账户余额不足");
else
m=m-1000;
};break;
case 4:{
if(m<1500)
System.out.println("账户余额不足");
else
m=m-1500;
};break;
case 5:{
if(m<2000)
System.out.println("账户余额不足");
else
m=m-2000;
};break;
case 6:{
if(m<5000)
System.out.println("账户余额不足");
m=m-5000;
};break;
case 7:{
System.out.println("*************************************************************** ");
System.out.println("欢迎"+i+" 使用中国工商银行自助柜员系统");
System.out.println("**************************************************************** ");
System.out.println("请输入取款金额:");
System.out.println("**************************************************************** ");
int jin;
jin=in.nextInt();
if(m<jin)
System.out.println("账户余额不足");
else
m=m+jin;
};break;
case 8:account.menu0();;break;
case 9:account.menu1(i);break;
}
}
case "3":{
account.zhuan(i);
int zhanghu;
zhanghu=in.nextInt();
account.jine(i);
int jine;
jine=in.nextInt();
if(m<jine)
System.out.println("账户余额不足");
else
{
System.out.println("*************************************************************** ");
System.out.println("欢迎"+i+"使用中国工商银行自助柜员系统 ");
System.out.println("**************************************************************** ");
System.out.println("请确认是否向"+zhanghu+"转账"+jine+"元");
System.out.println("当前账户余额为:"+(m-jine)+" 元 ");
}
};break;
case "4":{
account.mima(i);
int ymi,nmi,nmi2;
ymi=in.nextInt();
nmi=in.nextInt();
nmi2=in.nextInt();
if(ymi==j)
{
if(nmi==nmi2)
{
System.out.println("***************************************************************");
System.out.println("欢迎 "+i+"使用中国工商银行自助柜员系统 ");
System.out.println("***************************************************************");
System.out.println("当前账户密码修改成功 ");
System.out.println("***************************************************************");
}
else
System.out.println("修改密码与确认密码不一致");
}
else
System.out.println("当前密码录入错误");
};break;
case "5":System.out.println("当前余额:"+m);break;
}
}while(l.charAt(0)!='q');
}
}
}
AccountManager.java
ATM源码的更多相关文章
- JAVA上百实例源码以及开源项目
简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级.中级.高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情.执着,对IT的憧憬. ...
- 2014年5月份第3周51Aspx源码发布详情
HGM简单连连看游戏源码 2014-5-19 [VS2010]源码描述:这是一款基于WinForm窗体程序的简单水果连连看的小游戏.界面比较美观, 功能如下:该游戏可以显示当前关卡,还有剩余时间.重 ...
- java开学考试有感以及源码
一.感想 Java开学测试有感 九月二十号,王老师给我们上的第一节java课,测试. 说实话,不能说是十分有自信,但还好,直到看见了开学测试的题目,之前因为已经做过了王老师发的16级的题目,所以当时还 ...
- Linux内核(2) - 分析内核源码如何入手(上)
透过现象看本质,兽兽们无非就是一些人体艺术展示.同样往本质里看过去,学习内核,就是学习内核的源代码,任何内核有关的书籍都是基于内核,而又不高于内核的. 既然要学习内核源码,就要经常对内核代码进行分析, ...
- JAVA上百实例源码网站
JAVA源码包1JAVA源码包2JAVA源码包3JAVA源码包4 JAVA开源包1 JAVA开源包2 JAVA开源包3 JAVA开源包4 JAVA开源包5 JAVA开源包6 JAVA开源包7 JAVA ...
- 【转】.NET(C#):浅谈程序集清单资源和RESX资源 关于单元测试的思考--Asp.Net Core单元测试最佳实践 封装自己的dapper lambda扩展-设计篇 编写自己的dapper lambda扩展-使用篇 正确理解CAP定理 Quartz.NET的使用(附源码) 整理自己的.net工具库 GC的前世与今生 Visual Studio Package 插件开发之自动生
[转].NET(C#):浅谈程序集清单资源和RESX资源 目录 程序集清单资源 RESX资源文件 使用ResourceReader和ResourceSet解析二进制资源文件 使用ResourceM ...
- Java设计模式:23种设计模式全面解析(超级详细)以及在源码中的应用
从网络上找的设计模式, 很全面,只要把UML类图看懂了, 照着类图将代码实现是很容易的事情. 步骤: 先看懂类图, 然后将代码实现, 之后再看文字 http://c.biancheng.net/des ...
- Linux 网卡驱动sk_buff内核源码随笔
这几天在调试有关网卡驱动的东西,有很多地方不清楚.有关网卡驱动部分主要有两个很重要的结构体:struct net_device 和struct sk_buff. 驱动大部分都是围绕这两个东西进行操作的 ...
- 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新
本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...
随机推荐
- windows下vue-cli及webpack 构建网站(一)环境安装
1.安装Node.js,node.js安装包及源码下载地址为:https://nodejs.org/en/download/. 2.安装npm,由于新版的nodejs已经集成了npm,所以之前npm也 ...
- sqlserver 查询某表的所有列名
select name + ',' from syscolumns where id = object_id('SEND_TALLY') AND name <> 'PICDATAS'
- sublime text 3的使用过程记录
1.使用cmd命令行: 首先配置环境变量(即将sublime text3.exe所在目录放在path路径).完成之后,既可以利用subl命令行 subl file :: 使用Sublime Text打 ...
- SAP CRM和C4C的客户主数据修改历史记录查询
SAP CRM 随便修改一个字段,比如给Search Term维护值"webpack": Change History assignment block里显示出了这条修改记录: 根 ...
- 2012-2013 ACM-ICPC, NEERC, Central Subregional Contest J Computer Network1 (缩点+最远点对)
题意:在连通图中,求一条边使得加入这条边以后的消除的桥尽量多. 在同一个边双连通分量内加边肯定不会消除桥的, 求边双连通分量以后缩点,把桥当成边,实际上是要选一条最长的链. 缩点以后会形成一颗树,一定 ...
- Predicate Programming Guide
https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Predicates/AdditionalChap ...
- 在DataGridView控件中验证数据输入
实现效果: 知识运用: DataGridView控件的公共事件CellValidating //将System.Windows.Forms.DataGridViewCellValidatingEven ...
- MySQL-08 MySQL8.0新特性
性能 MySQL 8.0 在一定的用户访问条件下,速度要比 MySQL 5.7 快 2 倍.MySQL 8.0 在以下方面带来了更好的性能:读/写工作负载.IO 密集型工作负载.以及高竞争(" ...
- Python SciPy Sparse模块学习笔记
1. sparse模块的官方document地址:http://docs.scipy.org/doc/scipy/reference/sparse.html 2. sparse matrix的存储 ...
- iOS下的2D仿射变换机制(CGAffineTransform相关)
仿射变换简介 仿射变换源于CoreGraphics框架,主要作用是绘制2D级别的图层,几乎所有iOS设备屏幕上的界面元素都是由CoreGraphics来负责绘制.而我们要了解的2D仿射变换是其下负责二 ...