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

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Java语言编写实现银行账号开户、存款、取款、查询和转账源代码详解需求分析1.ATM柜员机系统保存所有开户用户的信息(银行卡号、密码、真实姓名、家庭地址、联系电话、卡内金额),限制最大开户数1002.用户通过开户能实现自助开户,银行卡号随机数生成5位整数,卡内金额默认为0,其他信息由客户在控制台上输入,要求银行卡号不能重复3.用户可以选择存款选项办理存款业务要求存款客户必须是已经在我行合法开户的用户,卡号、密码必须进过验证才能登录系统进行存款业务的办理,业务办理完毕后显示该客户目前的卡内余额信息并提示办理成功4.用户可以选择取款选择办理取款要求取款客户必须是已经在我行合法开户的用户,卡号、密码必须进过验证才能登录系统进行取款业务的办理,输入存款金额后,显示目前卡内余额信息并提示办理成功5.用户可以选择查询余额选择办理查询业务要求取款客户必须是已经在我行合法开户的用户,卡号、密码必须进过验证才能登录系统进行查询业务的办理,登录信息验证成功后显示该用户的详细信息6.用户可以选择转账选项办理查询业务[本系统只支持本地行内转账]要求取款客户必须是已经在我行合法开户的用户,卡号、密码必须进过验证才能登录系统进行转账业务的办理,用户输入的转账帐号必须是已经在我行合法开户的用户,合法的转账帐号显示该用户姓名,输入转账金额,完成转账功能显示自己的卡内余额并提示业务办理成功7.用户选择退出,结束本次业务办理8.该项目中的相关逻辑判断请自行斟酌1.将用户的卡号、密码、姓名、手机号码、家庭住址和卡上余额属性封装成对象,代码如下packagecom.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文件packagecom.zsrt.test;importstaticorg.junit.Assert.*;importjava.util.*;importjava.text.DecimalFormat;importorg.junit.Before;importorg.junit.Test;publicclassATMTest{Scannersn=newScanner(System.in);ListBankAccountclientList=newArrayListBankAccount();//采用动态数组来存放用户的信息DecimalFormatdf=newDecimalFormat(0.00);//格式化输出余额@BeforepublicvoidsetUp()throwsException{}@Testpublicvoidtest(){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()money){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.pr

1 / 17
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功