永发信息网

用Java编写一个银行帐户管理的程序

答案:1  悬赏:70  手机版
解决时间 2021-07-31 10:39

定义一个基类 Acount 表示所有的账户。以此为基础派生出活期账户类(Saving)、定期帐户类(FixSaving)、信用卡帐户类(Checking)。每种帐户均提供存(deposit)和取(withdrawal)两种方法。根据下面要求设计相应的类,并提供测试主程序。

(1)信用卡是储蓄类的一种,假设它可以在 5000 元范围内透支,它有一个用户密码,取款时,必须验证密码。定义一个信用卡类(从 Acount 帐户类中继承),然后实现取款和存款业务。

(2)定期储蓄是储蓄的一种,假定定期分为一年期、三年期、五年期,利率分别为 5% , 8% 和 10% 。用户在办理定期存款帐户时,必须确定其定期时段,中途不再在同一帐号上办理存款业务。取款是一次性完成,若提前取款,则全部金额的利息按活期利率 1% 计算。

(3)活期储蓄在整个存续期内可自由存取,只要余额不为 0 ,账户不会被销户。

注:1、父类Acount中要包含 帐户的姓名、密码和帐户余额这三个成员变量。

2、用继承和多态的方法实现。

3、书写程序时请在各个方法和成员变量后面注释出它的意义和作用,且尽量不要用太深奥的JAVA语法,我是初学者。

谢谢。

最佳答案

不好意思,时间有限,帮你写了父类acount 和 信用卡类 Checking,其他派生类只是成员方法有所区别。大同小异。


写的不好,仅供参考:


class Acount{
private String username; //
private String password; // 都是私有属性,设置为private
private float money=0f; //

public String getUsername() { //getter和setter 对属性的读取操作
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public float getMoney() {
return money;
}
public void setMoney(float money) {
this.money = money;
}

public void withdrawal(float withdrawal,String password){ //取钱操作
if(this.password==password){
if(withdrawal>money){
System.out.print("账户余额不足,不可支取!\n 余额为:"+money);
}else{
System.out.print("支取了现金:"+withdrawal);
this.money=this.money-withdrawal;
}
}
}

public void deposit(float deposit){ //存钱操作
System.out.print("存入 了:"+deposit+"\n 目前余额为:"+(money+deposit));
this.money=this.money+deposit;
}
}


class Checking extends Acount{
private String username;
private String passowrd;
private float money=0f;
private String status;

public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassowrd() {
return passowrd;
}
public void setPassowrd(String passowrd) {
this.passowrd = passowrd;
}
public float getMoney() {
return money;
}
public void setMoney(float money) {
this.money = money;
}

public void checkStatus(){
if(this.money<0){
System.out.print("信用卡已透支 \n 透支了"+(""+this.money).substring(1)); //(""+this.money).substring(1) 不要负号
}else{
System.out.print("信用卡未透支 \n 余额为:"+this.money);
}
}

public void withdrawal(float withdrawal,String password){ //覆盖了父类的 withdrawal方法
if(this.passowrd==password){
if(this.money==-5000||this.money>-5000){
System.out.print("信用卡严重透支,不可以再取!请及时还款。");
}else{
System.out.println("支取了现金:"+withdrawal);
this.money=this.money-withdrawal;
System.out.println("余额为:"+this.money);
}
}
}

}

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什麽90後的非主流女生眼睛大的惊人?
怎样人与人之间才能好好沟通呢?
苏州市区哪里有拍写真集的?好点的也便宜点的
大虾们,帮帮我这三国迷吧~~~囧
肇州县大庆中国电信服务中心(北晨小区B区西北
铜马的简介
LG755前面的摄像头怎么开启?
在选咯剑圣后怎么过不去呀?
QQ的问问业务最多只能一天问三个问题吗?
HP笔记本去客服中心能否把Vista系统换成XP并
最近很倒霉 怎么能转运啊?
为什么国家那么关注足球?
为什么我用任务管理器关掉炫舞或其他游戏,电
周公解梦:昨晚梦见乌龟和我说英语,然后变成
西工区洛阳金盾宾馆(鸿升小区西北)地址在哪,
推荐资讯
哪里有可以发我个魔兽世界的美化插件给我
战地之王游戏进不去,提示说与服务器连接失败
林口县牡丹江林口县水务局怎么去啊,谁知道地
我电脑的配置可以开多少个魔兽
QQ三国福建单刀想找个高级的师傅?
亚洲3s卫星除了凤凰一组节目还有国内其它节目
邮费上涨,你还网购吗?
词语搭配,错误的改正
呼兰区哈尔滨秋豪单记板面(北京路店)地址在哪
长江后是不是最长的河?
茶叶好评语怎么写,求经典广告语,至少10句,
WIN7的系统与XP比怎么样?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?