中国工商银行账户管理系统完成篇含页码.docx
《中国工商银行账户管理系统完成篇含页码.docx》由会员分享,可在线阅读,更多相关《中国工商银行账户管理系统完成篇含页码.docx(25页珍藏版)》请在冰点文库上搜索。
中国工商银行账户管理系统完成篇含页码
中国工商银行账户管理系统
本程序共有4个包:
(这4个包均在
一.账户信息数据封装,名为Account.java
package;
/**
*账户信息数据封装
*
*@authorliang.tang
*
*/
publicclassAccount{
privateStringcode;
privateStringname;
privateStringpass;
privatedoublemoney;
/**
*获得账号
*
*@return
*/
publicStringgetCode(){
returncode;
}
/**
*修改账号
*
*@paramcode
*/
publicvoidsetCode(Stringcode){
this.code=code;
}
/**
*获得名称
*
*@return
*/
publicStringgetName(){
returnname;
}
/**
*修改名称
*
*@paramname
*/
publicvoidsetName(Stringname){
this.name=name;
}
/**
*获得密码
*
*@return
*/
publicStringgetPass(){
returnpass;
}
/**
*修改密码
*
*@parampass
*/
publicvoidsetPass(Stringpass){
this.pass=pass;
}
/**
*获得金额
*
*@return
*/
publicdoublegetMoney(){
returnmoney;
}
/**
*修改金额
*
*@parammoney
*/
publicvoidsetMoney(doublemoney){
this.money=money;
}
/**
*默认构造
*/
publicAccount(){
super();
}
/**
*全参数构造
*
*@paramcode
*@paramname
*@parampass
*@parammoney
*/
publicAccount(Stringcode,Stringname,Stringpass,doublemoney){
super();
this.code=code;
this.name=name;
this.pass=pass;
this.money=money;
}
}
二.帮助输入的工具类,名为InputHelper.java
package;
import;
/**
*帮助输入的工具类
*
*@authorliang.tang
*
*/
publicclassInputHelper{
publicstaticScannerscanner=newScanner(System.in);
//测试方法
publicstaticvoidmain(String[]args){
//InputHelper.getCode();
//InputHelper.getInt();
//InputHelper.getMoney();
//InputHelper.getPassword();
"bye");
}
/**
*获得一行数据
*
*@return一行数据
*/
publicstaticStringgetLine(){
returnscanner.nextLine();
}
/**
*获得一个有效的银行账号6225开始,总长度8,全是数字
*
*@return银行账号
*/
publicstaticStringgetCode(){
Stringline;
do{
//获得一行数据并截断空格
line=getLine().trim();
//判断长度是否为8位
if(line.length()!
=8){
"长度不符合要求,请输入8位数字:
");
continue;
}
//判断是否以6225开始
if(!
line.startsWith("6225")){
"请输入以6225开始的8位数字:
");
continue;
}
//判断是否为数字
try{
Integer.parseInt(line);
}catch(Exceptione){
"请输入以6225开始的8位数字:
");
continue;
}
//跳出循环
break;
}while(true);
returnline;
}
/**
*有效的密码6位的数字
*
*@return密码
*/
publicstaticStringgetPassword(){
Stringline;
do{
//获得一行数据并截断空格
line=getLine().trim();
//判断长度是否为6位
if(line.length()!
=6){
"长度不符合要求,请输入6位数字:
");
continue;
}
//判断是否为数字
try{
Integer.parseInt(line);
}catch(Exceptione){
"类型不符合要求,请输入6位数字:
");
continue;
}
//跳出循环
break;
}while(true);
//返回数据
returnline;
}
/**
*获得有效的金额大于0的数字
*
*@return
*/
publicstaticdoublegetMoney(){
Stringline;
doublemoney=0;
do{
//获得一行数据并截断空格
line=getLine().trim();
//判断是否为数字
try{
money=Double.parseDouble(line);
}catch(Exceptione){
"请输入金额数字:
");
continue;
}
//该数字是否大于0
if(money>0)
//跳出循环
break;
else{
"请输入金额大于0的数字:
");
continue;
}
}while(true);
returnmoney;
}
/**
*获得整数
*
*@return
*/
publicstaticintgetInt(){
Stringline;
intnumber=0;
do{
//输入一行数据并截断空格
line=getLine().trim();
//判断是否为数字
try{
number=Integer.parseInt(line);
}catch(Exceptione){
"请输入整数数字:
");
continue;
}
//跳出循环
break;
}while(true);
//返回数据
returnnumber;
}
}
三.银行业务类,名为BankBiz.java
package;
/**
*银行业务类
*
*@authorliang.tang
*
*/
publicclassBankBiz{
Account[]accounts=newAccount[100];
/**
*开户
*
*@paramaccount
*账户信息
*@return是否成功,成功返回true,失败返回false
*/
publicbooleanadd(Accountaccount){
//检查账号是否已经存在
for(inti=0;iif(accounts[i]!
=null
&&accounts[i].getCode().equals(account.getCode())){
"账户已经存在!
");
returnfalse;
}
}
for(inti=0;i//查找一个空位置,进行插入
if(accounts[i]==null){
accounts[i]=account;
returntrue;
}
}
//循环完都没有插入,则返回失败
"账户已满,无法加入任何账户!
");
returnfalse;
}
/**
*存钱
*
*@paramcode
*账号
*@parammoney
*金额
*@return是否成功,成功返回true,失败返回false
*/
publicbooleansaveMoney(Stringcode,doublemoney){
//根据账号查找账户信息
Accountaccount=null;
for(inti=0;iif(accounts[i]!
=null&&accounts[i].getCode().equals(code)){
account=accounts[i];
}
}
//判断是否找到
if(account==null){
"账号不存在!
");
returnfalse;
}else{
//将原来的金额加上要存的金额
money+=account.getMoney();
//修改账户的金额信息
account.setMoney(money);
returntrue;
}
}
/**
*取钱
*
*@paramcode
*账号
*@parampassword
*密码
*@parammoney
*金额
*@return0正常;1账号不对;2密码不对;3钱不够
*/
publicinttakeMoney(Stringcode,Stringpassword,doublemoney){
//根据账号查找账户信息
Accountaccount=null;
for(inti=0;iif(accounts[i]!
=null&&accounts[i].getCode().equals(code)){
account=accounts[i];
}
}
//判断是否找到
if(account==null){
//账号不对
return1;
}elseif(!
account.getPass().equals(password)){
//密码不对
return2;
}elseif(account.getMoney()//钱不够
return3;
}else{
//将原来的金额减去要取的金额
money=account.getMoney()-money;
//修改账户的金额信息
account.setMoney(money);
return0;
}
}
/**
*转账
*
*@paramcodeOut
*转出账号
*@paramcodeIn
*转入的账号
*@parampassword
*转出账号的密码
*@parammoney
*转出的金额
*@return0正常;1账号不对;2密码不对;3钱不够
*/
publicinttransfer(StringcodeOut,StringcodeIn,Stringpassword,
doublemoney){
//根据转出账号查找账户信息
AccountaccountOut=null;
for(inti=0;iif(accounts[i]!
=null&&accounts[i].getCode().equals(codeOut)){
accountOut=accounts[i];
}
}
//根据转入账号查找账户信息
AccountaccountIn=null;
for(inti=0;iif(accounts[i]!
=null&&accounts[i].getCode().equals(codeIn)){
accountIn=accounts[i];
}
}
//判断是否找到
if(accountOut==null||accountIn==null){
//账号不对
return1;
}elseif(!
accountOut.getPass().equals(password)){
//密码不对
return2;
}elseif(accountOut.getMoney()//钱不够
return3;
}else{
//修改转出账户的金额信息
doubletemp=accountOut.getMoney()-money;
accountOut.setMoney(temp);
//修改转入账户的金额信息
temp=accountIn.getMoney()+money;
accountIn.setMoney(temp);
return0;
}
}
/**
*查询
*
*@paramcode
*账号
*@parampassword
*密码
*@returntrue查询成功;false查询失败
*/
publicvoidcheckMoney(Stringcode,Stringpassword){
//根据账号查找账户
Accountaccount=null;
for(inti=0;iif(accounts[i]!
=null&&accounts[i].getCode().equals(code)){
account=accounts[i];
}
}
//判断是否找到
if(account==null){
"不存在这个账户!
");
}else{
//判断密码是否正确
if(account.getPass().equals(password)){
//若正确,则显示账户信息
code=account.getCode();
Stringname=account.getName();
doublemoney=account.getMoney();
"**********************************");
"账号:
"+code);
"姓名:
"+name);
"余额:
"+money);
}else
"密码错误!
");
}
}
}
四.银行管理系统界面,该包的文件名为BankUI.java
package;
/**
*银行管理系统界面
*
*@authorliang.tang
*
*/
publicclassBankUI{
BankBizbiz=newBankBiz();
//启动入口
publicstaticvoidmain(String[]args){
BankUIbankUI=newBankUI();
bankUI.mainMenuUI();
}
/**
*主菜单
*/
publicvoidmainMenuUI(){
do{
//1.打印系统信息
"**********************************");
"*中国工商银行*");
"*账户管理系统*");
"*V1.0*");
"**********************************");
//2.打印主菜单
"*1.开户*");
"*2.存钱*");
"*3.取钱*");
"*4.转账*");
"*5.查询*");
"*6.Bye!
*");
"*************************************");
//3.选择菜单
"*请选择:
");
intmenu=InputHelper.getInt();
//4.业务判断操作
work(menu);
}while(true);
}
/**
*业务判断操作
*
*@parammenu
*选择的菜单号码
*/
publicvoidwork(intmenu){
switch(menu){
case1:
openAccountUI();
break;
case2:
saveMoneyUI();
break;
case3:
takeMoneyUI();
break;
case4:
transferUI();
break;
case5:
checkMoneyUI();
break;
case6:
"感谢你的使用,再见!
");
System.exit(0);
default:
"请输入正确的号码【1-6】");
break;
}
}
/**
*开户界面
*/
publicvoidopenAccountUI(){
"**********************************");
"当前业务:
开户");
//1.收集数据
"请输入账号:
");
Stringcode=InputHelper.getCode();
"请输入名称:
");
Stringname=InputHelper.getLine();
"请输入密码:
");
Stringpassword=InputHelper.getPassword();
"请输入金额:
");
doublemoney=InputHelper.getMoney();
//2.封装数据
Accountaccount=newAccount(code,name,password,money);
//3.业务处理
booleanresult=biz.add(account);
//4.显示结果
if(result==true){
"开户成功!
");
}else{
"开户失败!
");
}
}
/**
*存钱界面
*/
publicvoidsaveMoneyUI(){
"**********************************");
"当前业务:
存钱");
//1.收集数据
"请输入账号:
");
Stringcode=InputHelper.getCode();
"请输入金额:
");
doublemoney=InputHelper.getMoney();
//2.业务处理
booleanresult=biz.saveMoney(code,money);
//3.显示结果
if(result==true){
"存钱成功!
");
}else{
"存钱失败!
");
}
}
/**
*取钱界面
*/
publicvoidtakeMoneyUI(){
"**********************************");
"当前业务:
取钱");
//1.收集数据
"请输入账号:
");
Stringcode=InputHelper.getCode();
"请输入密码:
");
Stringpassword=InputHelper.getPassword();
"请输入金额:
");
doublemoney=InputHelper.ge