Java语言编写实现银行账号开户存款取款和转账等功能文档格式.docx
《Java语言编写实现银行账号开户存款取款和转账等功能文档格式.docx》由会员分享,可在线阅读,更多相关《Java语言编写实现银行账号开户存款取款和转账等功能文档格式.docx(9页珍藏版)》请在冰豆网上搜索。
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文件
publicclassATMTest{
Scannersn=newScanner(System.in);
List<
BankAccount>
clientList=newArrayList<
();
//采用动态数组来存放用户的信息
DecimalFormatdf=newDecimalFormat("
0.00"
);
//格式化输出余额
Before
publicvoidsetUp()throwsException{
Test
publicvoidtest(){
while(true){
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){
break;
else{
publicclassBankAccount{
privatedoublemoney;
publicdoublegetMoney(){
publicvoidsetMoney(doublemoney){
publicvoidopenAccount(){//开户函数
BankAccountaccount=newBankAccount();
intcardNum=(int)(Math.random()*90000+10000);
account.setCardNum(cardNum);
StringpassWord=sn.next();
account.setPassWord(passWord);
Stringname=sn.next();
account.setName(name);
Stringaddress=sn.next();
account.setAddress(address);
longtelephone=sn.nextLong();
account.setTelephone(telephone);
if(clientList.isEmpty()){
clientList.add(account);
BankAccountaccount_1=checkCardNum(account.getCardNum());
//卡号应是唯一的,假设已在clientList中那么表示卡号重复,需要重新开户,否那么可以将account对象添加到clientList中
if(account_1==null){
account.setMoney(0);
}//end
publicvoidsaveMoney(){//存款函数
BankAccountaccount=login();
//每次操作前需要先登录
if(account==null){
doublemoney=sn.nextFloat();
account.setMoney(money+account.getMoney());
Stringstr=df.format(account.getMoney());
publicvoidtakeMoney(){//取款函数
if(account.getMoney()<
money){
account.setMoney(account.getMoney()-money);
publicvoidcheckMoney(){//查询余额函数
publicvoidtransferMoney(){//转账函数
intcardNum=sn.nextInt();
BankAccountaccount_1=checkCardNum(cardNum);
if(account_1!
=null){
if(money>
account.getMoney()){
account_1.setMoney(money+account_1.getMoney());
publicBankAccountcheckCardNum(intcardNum){//查询卡号在clientList中是否存在clientList,假设找到那么返回其中的account对象,否那么返回null
BankAccountaccount=null;
for(BankAccountaccount_1:
clientList){//遍历clientList列表
if(account_1.getCardNum()==cardNum){
account=account_1;
account=null;
returnaccount;
publicBankAccountlogin(){//登录函数如果客户输入的卡号和密码与存入clientList中找到的account对象的卡号和密码一样才表示登录成功
BankAccountaccount_1=null;
BankAccountaccount=checkCardNum(cardNum);
if(account!
=null&
&
account.getPassWord().equals(passWord)){
account_1=account;
account_1=null;
returnaccount_1;