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

上传人:bei****lei 文档编号:182492919 上传时间:2023-01-24 格式:DOCX 页数:17 大小:38.07KB
返回 下载 相关 举报
Java语言编写实现银行账号开户-存款-取款和转账等功能_第1页
第1页 / 共17页
Java语言编写实现银行账号开户-存款-取款和转账等功能_第2页
第2页 / 共17页
Java语言编写实现银行账号开户-存款-取款和转账等功能_第3页
第3页 / 共17页
点击查看更多>>
资源描述
Java语言编写实现银行账号开户、存款、取款、查询和转账源代码详解需求分析1. ATM柜员机系统保存所有开户用户的信息(银行卡号、密码、真实姓名、家庭地址、联系电话、卡内金额),限制最大开户数1002. 用户通过开户能实现自助开户,银行卡号随机数生成5位整数,卡内金额默认为0,其他信息由客户在控制台上输入,要求银行卡号不能重复3. 用户可以选择存款选项办理存款业务 要求存款客户必须是已经在我行合法开户的用户,卡号、密码必须进过验证才能登录系统进行存款业务的办理,业务办理完毕后显示该客户目前的卡内余额信息并提示办理成功4. 用户可以选择取款选择办理取款 要求取款客户必须是已经在我行合法开户的用户,卡号、密码必须进过验证才能登录系统进行取款业务的办理,输入存款金额后,显示目前卡内余额信息并提示办理成功5. 用户可以选择查询余额选择办理查询业务 要求取款客户必须是已经在我行合法开户的用户,卡号、密码必须进过验证才能登录系统进行查询业务的办理,登录信息验证成功后显示该用户的详细信息6. 用户可以选择转账选项办理查询业务本系统只支持本地行内转账 要求取款客户必须是已经在我行合法开户的用户,卡号、密码必须进过验证才能登录系统进行转账业务的办理,用户输入的转账帐号必须是已经在我行合法开户的用户,合法的转账帐号显示该用户姓名,输入转账金额,完成转账功能显示自己的卡内余额并提示业务办理成功7. 用户选择退出,结束本次业务办理8. 该项目中的相关逻辑判断请自行斟酌1. 将用户的卡号、密码、姓名、手机号码、家庭住址和卡上余额属性封装成对象,代码如下package com.zsrt.test;import java.util.*;public class BankAccountprivate int cardNum;private String passWord;private String name;private String address;private long telephone;private float money;public int getCardNum() return cardNum;public void setCardNum(int cardNum) this.cardNum = cardNum;public String getPassWord() return passWord;public void setPassWord(String passWord) this.passWord = passWord;public String getName() return name;public void setName(String name) this.name = name;public String getAddress() return address;public void setAddress(String address) this.address = address;public long getTelephone() return telephone;public void setTelephone(long telephone) this.telephone = telephone;public float getMoney() return money;public void setMoney(float money) this.money = money; 2. 建立测试类Junit Test文件package com.zsrt.test;import static org.junit.Assert.*;import java.util.*;import java.text.DecimalFormat;import org.junit.Before;import org.junit.Test;public class ATMTest Scanner sn=new Scanner(System.in); List clientList=new ArrayList(); /采用动态数组来存放用户的信息 DecimalFormat df=new DecimalFormat(0.00);/格式化输出余额Beforepublic void setUp() throws Exception Testpublic void test() System.out.println(ttt*);System.out.println(ttt* *);System.out.println(ttt* *);System.out.println(ttt* 欢迎进入中国银行 *);System.out.println(ttt* *);System.out.println(ttt* *);System.out.println(ttt*);while(true)System.out.println(ttt请选择您要办理的手续:);System.out.println(tttt1.开户);System.out.println(tttt2.存款);System.out.println(tttt3.取款);System.out.println(tttt4.查询余额);System.out.println(tttt5.转账);System.out.println(tttt6.退出);System.out.println(ttt请输入您要办理的项目);int num=sn.nextInt();if(num=1)openAccount();else if(num=2)saveMoney();else if(num=3)takeMoney();else if(num=4)checkMoney();else if(num=5)transferMoney();else if(num=6)System.out.println(退出);break;elseSystem.out.println(请输入正确的选项!);public class BankAccountprivate int cardNum;private String passWord;private String name;private String address;private long telephone;private double money;public int getCardNum() return cardNum;public void setCardNum(int cardNum) this.cardNum = cardNum;public String getPassWord() return passWord;public void setPassWord(String passWord) this.passWord = passWord;public String getName() return name;public void setName(String name) this.name = name;public String getAddress() return address;public void setAddress(String address) this.address = address;public long getTelephone() return telephone;public void setTelephone(long telephone) this.telephone = telephone;public double getMoney() return money;public void setMoney(double money) this.money = money;public void openAccount()/开户函数BankAccount account=new BankAccount();int cardNum=(int)(Math.random()*90000+10000);account.setCardNum(cardNum);System.out.println(系统已为您随机分配一个卡号+cardNum);System.out.println(请为您的账户设置密码:);String passWord=sn.next();account.setPassWord(passWord);System.out.println(请输入您的姓名:);String name=sn.next();account.setName(name);System.out.println(请输入您的地址);String address=sn.next();account.setAddress(address);System.out.println(请输入您的联系电话:);long telephone=sn.nextLong();account.setTelephone(telephone);if(clientList.isEmpty()clientList.add(account);System.out.println(开户成功!+您的卡号是:+account.getCardNum();elseBankAccount account_1=checkCardNum(account.getCardNum();/卡号应是唯一的,若已在clientList中则表示卡号重复,需要重新开户,否则可以将account对象添加到clientList中if(account_1=null)account.setMoney(0);clientList.add(account);System.out.println(开户成功!您的卡号是:+account.getCardNum();/endpublic void saveMoney() /存款函数BankAccount account=login();/每次操作前需要先登录if(account=null)System.out.println(账号或密码有误,登录失败!);elseSystem.out.println(登录成功!请输入您的存款金额:);double money=sn.nextFloat();account.setMoney(money+account.getMoney();String str=df.format(account.getMoney();System.out.println(存款成功!您现在的卡上余额为:+str);public void takeMoney() /取款函数BankAccount account=login();if(account=null)System.out.println(您输入的账号或密码有误,登录失败!);elseSystem.out.println(登录成功!请输入您的取款金额:);double money=sn.nextFloat();if(account.getMoney()account.getMoney()System.out.println(您的卡上余额不足+money+,转账失败!);elseaccount.setMoney(account.getMoney()-money);account_1.setMoney(money+account_1.getMoney();String str=df.format(account.getMoney();System.out.println(转账成功!您现在的卡上余额是:+str);elseSystem.out.println(您输入的卡号在本行不存在,转账失败!);public BankAccount checkCardNum(int cardNum)/查询卡号在clientList中是否存在clientList,若找到则返回其中的account对象,否则返回nullBankAccount account=null;for(BankAccount account_1: clientList) /遍历clientList列表if(account_1.getCardNum()=cardNum)account=account_1; break;elseaccount=null;/endreturn account; public BankAccount login() /登录函数 如果客户输入的卡号和密码与存入clientList中找到的account对象的卡号和密码相同才表示登录成功BankAccount account_1=null;System.out.println(请输入您的卡号:);int cardNum=sn.nextInt();BankAccount account=checkCardNum(cardNum);System.out.println(请输入您的密码:);String passWord=sn.next();if(account!=null & account.getPassWord().equals(passWord)account_1=account;elseaccount_1=null; return account_1;
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!