java银行项目分析

上传人:夏** 文档编号:509074684 上传时间:2023-07-22 格式:DOCX 页数:10 大小:21.64KB
返回 下载 相关 举报
java银行项目分析_第1页
第1页 / 共10页
java银行项目分析_第2页
第2页 / 共10页
java银行项目分析_第3页
第3页 / 共10页
java银行项目分析_第4页
第4页 / 共10页
java银行项目分析_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《java银行项目分析》由会员分享,可在线阅读,更多相关《java银行项目分析(10页珍藏版)》请在金锄头文库上搜索。

1、java银行项目分析SANY 标准化小组 #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN# 项目名称:BankAccou ntM anagementSys tem银行账户管理系统简称BAM项LI描述:这是一个银行账户管理系统,用户可以操作自己的银行账户.项LI实施方式:这是一个同步练习,随着Corejava课程的深入,这个项U将趋于完整,学员的任务是随着 知识点的深入,完成每一个进阶的项目要求.练习1:(面向对象基础语法)创建entity包,编写一个账户类(Account),属性变量:id:账户号码长整数password:账户密码name:真实姓名personld:身份证号码字符串

2、类型balance:账户余额方法:deposit:存款方法,参数是double型的金额withdraw:取款方法,参数是double型的金额构造方法:有参和无参,有参构造方法用于设置必要的属性Stepl: Account 类packageentity;publicclassAccount属性变量privateiongid;privateStringpassword;privateStringname;privateStringpersonld;privatedoublebalance;构造方法publicAccount0 publicAccount(longid, Stringname, St

3、ringpersonlD, Stringpassword, doublebalance)this, id二id;this name=name;this personId=personID;this password二password;this balance=balance;/成员方法/存款,参数是需要存入的金额,返回值可以是存后的金额,此时返回值类型为double,也可以无返回值,此时方法的返 回值类型为void。publicdoubledeposit(doublemoney)balance+=money;returnbalance;/取款,参数是需要存入的金额,返回值是boolean,是否

4、减款成功pub1i cboo1eanw i thdraw(doublemoney)if (balancemoney) balance-=money;returntrue;else!System, out. printing取款数目过大);returnfalse;练习2:(封装)/将Account类作成完全封装,将各属性变量定义为private类型,增加相应的get, set方法publiclonggetldO returnid;publicvoidsetId(longid)this id二id;publicStringgetPasswordO returnpassword;publicvoid

5、setPassword(Stringpassword) this password二password;publicStringgetName0 retumname;publicvoidsetXame(Stringname)this name=name;publicStringgetPersonldO returnpersonld;publicvoidsetPersonld(Stringpersonld) this personld=personld;publicdoublegetBalance 0returnbalance;publicvoidsetBalance(doublebalance)

6、this balance=balance;练习3:(继承,多态)银行的客户分为两类,储蓄账户(SavingAccount)和信用账户(CreditAccount),区别在于储蓄账户不允 许透支,而信用账户可以透支10000元在entity包中为这两种用户编写相关的类。/很明显,储蓄账户(SavingAccount)和信用账户(CreditAccount)都是账户类的子类。packageentity;信用账户publicclassCreditAccountextendsAccount创建信用账户时我们希望可以通过输入属性变量,name, personlD等直接获取个信用账户的对象,所以,需要 构

7、建信用账户的有参构造方法,为对象进行初始化赋值。父类有参数的构造力法不会自动继承,在了类的构造方法中可以用super(参数)来调用父类的构造方法。 publicCreditAccount(longid, Stringname, StringpersonlD,Stringpassword, doublebalance)super(id, name, personlD, password, balance);/取款,对父类方法的重写信用账户可以透支publicbooleanwithdraw(doub1emoney)if(moneysuper. getBalance 0 +10000) 取钱透支超过

8、10000元returnfalse;else/将余额中的钱减少super setBalance(super getBalance 0-money);returntrue;同样,对于储蓄账户也是一样的方法。packageentity;储蓄账户publicclassSavingAccountextendsAccountpublicSavingAccount(longid, Stringname, StringpersonlD,Stringpassword, doublebalance) super(id, name, personlD, password, balance);publicboole

9、anwithdraw(doub1emoney)if(moneysuper getBalance0)returnfalse;elsesuper setBalance(super getBalance 0-money);returntrue;同时要求创建biz (业务)包,编写Bank类,属性:1. 当前所有的账户对象的集合,存放在数组中2 当前账户数量方法:1. 用户开户,需要的参数:id,密码,密码确认,姓名,身份证号码,账户类型,返回新创建的Account对象 的账号,提示:用si. equals(s2)可以比较si, s2两个字符串的值是否相等账户类型是一个整数,为0的 时候表示储蓄账户,

10、为1的时候表示信用账户2. 用户登录,参数:id,密码返回登录账户的账号3. 用户存款,参数:id,存款数额,返回void4. 用户取款,参数:id,取款数额,返回void5查询余额,参数:id,返回该账户的余额double用户会通过调用Bank对象以上的方法来操作自己的账户,请分析各个方法需要的参数packagebiz;importentity. Account;publicclassBank/当前所有的账户对象的集合,存放在数组中对数组声明并初始化。也可以将初始化的步骤/放入构造方法中。privateAccountaccounts1 =newAccount20;/账户集合,Account是

11、另外个包里的,所以需要引包importentity Account;privateintnumber; /账户数目publicBankO accounts=newAccount 20;/以后不足时和栈样扩容。num=0;/第一个方法,开户,对于用户开户,如果在开户成功后返回一个Account类型的对象就比较好。并且题目 也要求返回新创建的Account对象的账号。publicAccountopenAccount(longid, Stringpassl, Stringpass2, Stringname, StringpersonlD,inttype )创建个新帐户Accountacc=null;

12、判断两次密码是否i致if (passl. equals(pass2) /如果返回为真,则说明密码致账户类型是个整数,为0的时候衣示储蓄账户,为1的时候衣示信用账户if(type=l) acc=newCreditAccount(id, name, passl, personlD, 1);刚开卡,可以定义balance=lelseacc=newSavingAccount (id, name, passl, personlD, 1);/注意:CreditAccount fll SavingAccount这两个类在另外个包里,需要导入包 returnacc;else/如果两次密码不致,则开卡不成功,返

13、回-个null。returnnull;可以进一步优化-下代码。/if(pass1 equals(pass2) /引包/if (type=l)acc=newCreditAccount (id, name, passl, personlD, 1);/刚开卡,可以定义balance=l/e1seacc=newSavingAccount(id, name, passl, personlD, 1);/returnacc;/到此为ll:,只是new个Account对象。并没有将其放入帐户数组accounts中。判断存储空间是否满了,或者说判断数组是否满了if(number=accountslength)扩

14、容,新创建-个数组,容量是前个数组的2倍Accountnewaccounts1=newAccountaccountslength*2;将以前的数据拷贝过来,arraycopy方法System. ar ray copy (ac c ount s, 0, newaccounts, 0, accountslength);/将newaccounts的引用賦给accountsac c oun t s =ne wac c oun t s;可以往里面放东西raccountsnumber=acc;Jelset/如果数组还有空间,可以直接往里而放元素accountsnumber=acc;/小优化/if(number=accountslength)/扩容/Accountnewaccounts=newAccountaccountslength*2;/将以前的数据拷贝过来,ar ray copy方法/System. arraycopy(accounts, 0, newaccounts, 0, accountslength);/将newaccounts的引用賦给accounts/accounts=newaccounts;/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号