Java语言编写实现银行账号开户存款取款和转账等功能.docx

上传人:b****6 文档编号:16331380 上传时间:2023-07-12 格式:DOCX 页数:13 大小:27.37KB
下载 相关 举报
Java语言编写实现银行账号开户存款取款和转账等功能.docx_第1页
第1页 / 共13页
Java语言编写实现银行账号开户存款取款和转账等功能.docx_第2页
第2页 / 共13页
Java语言编写实现银行账号开户存款取款和转账等功能.docx_第3页
第3页 / 共13页
Java语言编写实现银行账号开户存款取款和转账等功能.docx_第4页
第4页 / 共13页
Java语言编写实现银行账号开户存款取款和转账等功能.docx_第5页
第5页 / 共13页
Java语言编写实现银行账号开户存款取款和转账等功能.docx_第6页
第6页 / 共13页
Java语言编写实现银行账号开户存款取款和转账等功能.docx_第7页
第7页 / 共13页
Java语言编写实现银行账号开户存款取款和转账等功能.docx_第8页
第8页 / 共13页
Java语言编写实现银行账号开户存款取款和转账等功能.docx_第9页
第9页 / 共13页
Java语言编写实现银行账号开户存款取款和转账等功能.docx_第10页
第10页 / 共13页
Java语言编写实现银行账号开户存款取款和转账等功能.docx_第11页
第11页 / 共13页
Java语言编写实现银行账号开户存款取款和转账等功能.docx_第12页
第12页 / 共13页
Java语言编写实现银行账号开户存款取款和转账等功能.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Java语言编写实现银行账号开户存款取款和转账等功能.docx

《Java语言编写实现银行账号开户存款取款和转账等功能.docx》由会员分享,可在线阅读,更多相关《Java语言编写实现银行账号开户存款取款和转账等功能.docx(13页珍藏版)》请在冰点文库上搜索。

Java语言编写实现银行账号开户存款取款和转账等功能.docx

Java语言编写实现银行账号开户存款取款和转账等功能

Java语言编写实现银行账号开户、存款、取款、

查询和转账源代码详解

需求分析

1.ATM柜员机系统保存所有开户用户的信息(银行卡号、密码、真实、家庭地址、联系、卡金额),限制最大开户数100

2.用户通过开户能实现自助开户,银行卡号随机数生成5位整数,卡金额默认为0,其他信息由客户在控制台上输入,要求银行卡号不能重复

3.用户可以选择存款选项办理存款业务要求存款客户必须是已经在我行合法开户的用户,卡号、密码必须进过验证才能登录系统进行存款业务的办理,业务办理完毕后显示该客户目前的卡余额信息并提示办理成功

4.用户可以选择取款选择办理取款要求取款客户必须是已经在我行合法开户的用户,卡号、密码必须进过验证才能登录系统进行取款业务的办理,输入存款金额后,显示目前卡余额信息并提示办理成功

5.用户可以选择查询余额选择办理查询业务要求取款客户必须是已经在我行合法开户的用户,卡号、密码必须进过验证才能登录系统进行查询业务的办理,登录信息验证成功后显示该用户的详细信息

6.用户可以选择转账选项办理查询业务[本系统只支持本地行转账]要求取款客户必须是已经在我行合法开户的用户,卡号、密码必须进过验证才能登录系统进行转账业务的办理,用户输入的转账必须是已经在我行合法开户的用户,合法的转账显示该用户,输入转账金额,完成转账功能显示自己的卡余额并提示业务办理成功

7.用户选择退出,结束本次业务办理

8.该项目中的相关逻辑判断请自行斟酌

1.将用户的卡号、密码、、手机、家庭住址和卡上余额属性封装成对象,代码如下

package.zsrt.test;

importjava.util.*;

publicclassBankAccount{

privateintcardNum;

privateStringpassWord;

privateStringname;

privateStringaddress;

privatelongtelephone;

privatefloatmoney;

publicintgetCardNum(){

returncardNum;

}

publicvoidsetCardNum(intcardNum){

this.cardNum=cardNum;

}

publicStringgetPassWord(){

returnpassWord;

}

publicvoidsetPassWord(StringpassWord){

this.passWord=passWord;

}

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;

}

publicStringgetAddress(){

returnaddress;

}

publicvoidsetAddress(Stringaddress){

this.address=address;

}

publiclonggetTelephone(){

returntelephone;

}

publicvoidsetTelephone(longtelephone){

this.telephone=telephone;

}

publicfloatgetMoney(){

returnmoney;

}

publicvoidsetMoney(floatmoney){

this.money=money;

}

}

2.建立测试类JunitTest文件

package.zsrt.test;

importstaticorg.junit.Assert.*;

importjava.util.*;

importjava.text.DecimalFormat;

importorg.junit.Before;

importorg.junit.Test;

publicclassATMTest{

Scannersn=newScanner(System.in);

ListclientList=newArrayList();//采用动态数组来存放用户的信息

DecimalFormatdf=newDecimalFormat("0.00");//格式化输出余额

Before

publicvoidsetUp()throwsException{

}

Test

publicvoidtest(){

System.out.println("\t\t\t**********************⊙***********************");

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

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

System.out.println("\t\t\t*⊙欢迎进入中国银行*");

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

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

System.out.println("\t\t\t*********************⊙************************");

while(true){

System.out.println("\t\t\t请选择您要办理的手续:

");

System.out.println("\t\t\t\t1.开户");

System.out.println("\t\t\t\t2.存款");

System.out.println("\t\t\t\t3.取款");

System.out.println("\t\t\t\t4.查询余额");

System.out.println("\t\t\t\t5.转账");

System.out.println("\t\t\t\t6.退出");

System.out.println("\t\t\t请输入您要办理的项目");

intnum=sn.nextInt();

if(num==1){

openAccount();

}

elseif(num==2){

saveMoney();

}

elseif(num==3){

takeMoney();

}

elseif(num==4){

checkMoney();

}

elseif(num==5){

transferMoney();

}

elseif(num==6){

System.out.println("退出");

break;

}

else{

System.out.println("请输入正确的选项!

");

}

}

}

publicclassBankAccount{

privateintcardNum;

privateStringpassWord;

privateStringname;

privateStringaddress;

privatelongtelephone;

privatedoublemoney;

publicintgetCardNum(){

returncardNum;

}

publicvoidsetCardNum(intcardNum){

this.cardNum=cardNum;

}

publicStringgetPassWord(){

returnpassWord;

}

publicvoidsetPassWord(StringpassWord){

this.passWord=passWord;

}

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;

}

publicStringgetAddress(){

returnaddress;

}

publicvoidsetAddress(Stringaddress){

this.address=address;

}

publiclonggetTelephone(){

returntelephone;

}

publicvoidsetTelephone(longtelephone){

this.telephone=telephone;

}

publicdoublegetMoney(){

returnmoney;

}

publicvoidsetMoney(doublemoney){

this.money=money;

}

}

publicvoidopenAccount(){//开户函数

BankAccountaccount=newBankAccount();

intcardNum=(int)(Math.random()*90000+10000);

account.setCardNum(cardNum);

System.out.println("系统已为您随机分配一个卡号"+cardNum);

System.out.println("请为您的账户设置密码:

");

StringpassWord=sn.next();

account.setPassWord(passWord);

System.out.println("请输入您的:

");

Stringname=sn.next();

account.setName(name);

System.out.println("请输入您的地址");

Stringaddress=sn.next();

account.setAddress(address);

System.out.println("请输入您的联系:

");

longtelephone=sn.nextLong();

account.setTelephone(telephone);

if(clientList.isEmpty()){

clientList.add(account);

System.out.println("开户成功!

"+"您的卡号是:

"+account.getCardNum());

}

else{

BankAccountaccount_1=checkCardNum(account.getCardNum());//卡号应是唯一的,若已在clientList中则表示卡号重复,需要重新开户,否则可以将account对象添加到clientList中

if(account_1==null){

account.setMoney(0);

clientList.add(account);

System.out.println("开户成功!

您的卡号是:

"+account.getCardNum());

}

}//end

}

publicvoidsaveMoney(){//存款函数

BankAccountaccount=login();//每次操作前需要先登录

if(account==null){

System.out.println("账号或密码有误,登录失败!

");

}

else{

System.out.println("登录成功!

请输入您的存款金额:

");

doublemoney=sn.nextFloat();

account.setMoney(money+account.getMoney());

Stringstr=df.format(account.getMoney());

System.out.println("存款成功!

您现在的卡上余额为:

"+str);

}

}

publicvoidtakeMoney(){//取款函数

BankAccountaccount=login();

if(account==null){

System.out.println("您输入的账号或密码有误,登录失败!

");

}

else{

System.out.println("登录成功!

请输入您的取款金额:

");

doublemoney=sn.nextFloat();

if(account.getMoney()

System.out.println("您的卡上余额不足"+money+",取款失败!

");

}

else{

account.setMoney(account.getMoney()-money);

Stringstr=df.format(account.getMoney());

System.out.println("存款成功!

您现在的卡上余额为:

"+str);

}

}

}

publicvoidcheckMoney(){//查询余额函数

BankAccountaccount=login();

if(account==null){

System.out.println("您输入的账号不存在或密码有误,登录失败!

");

}

else{

Stringstr=df.format(account.getMoney());

System.out.println("查询余额成功!

您现在的卡上余额为:

"+str);

}

}

publicvoidtransferMoney(){//转账函数

BankAccountaccount=login();

if(account==null){

System.out.println("您输入的账号不存在或密码有误,登录失败!

");

}

else{

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

");

intcardNum=sn.nextInt();

BankAccountaccount_1=checkCardNum(cardNum);

if(account_1!

=null){

System.out.println("您要转账的客户的为:

"+account_1.getName());

System.out.println("请输入您的转账金额:

");

doublemoney=sn.nextFloat();

if(money>account.getMoney()){

System.out.println("您的卡上余额不足"+money+",转账失败!

");

}

else{

account.setMoney(account.getMoney()-money);

account_1.setMoney(money+account_1.getMoney());

Stringstr=df.format(account.getMoney());

System.out.println("转账成功!

您现在的卡上余额是:

"+str);

}

}

else{

System.out.println("您输入的卡号在本行不存在,转账失败!

");

}

}

}

publicBankAccountcheckCardNum(intcardNum){//查询卡号在clientList中是否存在clientList,若找到则返回其中的account对象,否则返回null

BankAccountaccount=null;

for(BankAccountaccount_1:

clientList){//遍历clientList列表

if(account_1.getCardNum()==cardNum){

account=account_1;

break;

}

else{

account=null;

}

}//end

returnaccount;

}

publicBankAccountlogin(){//登录函数如果客户输入的卡号和密码与存入clientList中找到的account对象的卡号和密码相同才表示登录成功

BankAccountaccount_1=null;

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

");

intcardNum=sn.nextInt();

BankAccountaccount=checkCardNum(cardNum);

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

");

StringpassWord=sn.next();

if(account!

=null&&account.getPassWord().equals(passWord)){

account_1=account;

}

else{

account_1=null;

}

returnaccount_1;

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2