




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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) = 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) = 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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年游戏开发行业求职指南面试模拟题及答题技巧
- 2026届贵州省六盘水市第二十三中学化学高一上期末教学质量检测试题含解析
- 2025注册验船师考试(C级船舶检验专业综合能力)全真冲刺试题及答案一
- 2025年慈善机构招录工作预测试题与参考解答发布
- 2025年道路交通考试试题及答案
- 2025年绿色经济与可持续发展考试卷及答案
- 2025注册验船师资格考试(A级船舶检验专业能力)综合试题及答案一
- 2025年B级注册验船师资格考试复习资料考前冲刺试题及答案一
- 2025年体育教练员招聘笔试预测试题集
- 公务员真实面试题及答案
- JJG 264-2025谷物容重器检定规程
- 中国足协D级教练员理论培训大纲
- 实验室人员培训
- 人工流产护理查房
- 部编五年级上册语文教案全册表格版
- 智慧园区智慧安防系统建设方案
- 2025血管内导管相关性血流感染预防与诊治指南
- T/CBMCA 059-2024钢渣沥青混合料
- 2025年电动工具项目可行性分析报告
- 合作利润分成合同协议书
- ISO27001:2022信息安全管理手册+全套程序文件+表单
评论
0/150
提交评论