JAVA 初学,不会写阿,求高手指教

项目名称:BankAccountManagementSystem银行账户管理系统简称BAM项目一练习1:(面向对象基础语法)写一个账户类(Account),属性:id:账... 项目名称:Bank Account Management System 银行账户管理系统 简称BAM
项目一

练习1:(面向对象基础语法)

写一个账户类(Account),属性:

id:账户号码 长整数

password:账户密码

name:真实姓名

personId:身份证号码 字符串类型

email:客户的电子邮箱

balance:账户余额

方法:

deposit: 存款方法,参数是double型的金额

withdraw:取款方法,参数是double型的金额

构造方法:

有参和无参,有参构造方法用于设置必要的属性

练习2:(封装)

将Account类作成完全封装,注意:要辨别每个属性的set/get方法是否需要公开

练习3:(继承,多态)

银行的客户分为两类,储蓄账户(SavingAccount)和信用账户(CreditAccount),区别在于储蓄账户不允许透支,而信用账户可以透支,并允许用户设置自己的透支额度.

注意:CreditAccount需要多一个属性 ceiling 透支额度

为这两种用户编写相关的类

同时要求编写Bank类,属性:

1.当前所有的账户对象的集合,存放在数组中

2.当前账户数量

方法:

1.用户开户,需要的参数:id,密码,密码确认,姓名,身份证号码,邮箱,账户类型(int),返回新创建的Account对象

2.用户登录,参数:id,密码 返回Account对象,提示 用s1.equals(s2)判断s1和s2两个字符串内容是否相等

3.用户存款,参数:id,存款数额,返回修改过的Account对象

4.用户取款,参数:id,取款数额,返回修改过的Account对象

5.设置透支额度 参数:id,新的额度 ,返回修改过的Account对象.这个方法需要验证账户是否是信用账户

用户会通过调用Bank对象以上的方法来操作自己的账户,请分析各个方法需要的参数

另外,请为Bank类添加几个统计方法

1.统计银行所有账户余额总数

2.统计所有信用账户透支额度总数

写个主方法测试你写的类

=============================
我写到

同时要求编写Bank类,属性:

1.当前所有的账户对象的集合,存放在数组中

2.当前账户数量
就不会写了,不太明白他意思,下面是我写的代码 。
class Bank {
public static void main(String[] args){
Account[] a= new Account[2];
a[0]=new SavingAccount(1,"123","aaa","331","acds21",500.0);
a[1]=new CreditAccount(2,"123","bbb","332","basd",10.0,500);
for(int i=0;i<a.length;i++){
System.out.println("用户名: "+a[i].getName()+" "+"用户ID :"+a[i].getId()+" "+"用户余额 :"+a[i].getBalance());
}
}
}

如果我把 数组 长度 2 改为 5, 就返回空对象错误 ,有什么办法解决 。我记得老师好像是用个 静态方法 把 作记数的,希望 高手们 能写来参考一下,方便的话,留个QQ 问点问题,谢谢 。。。
我知道 问题 是没有对象实例 ,按照题目,应该怎么写呢? 当前账户数量 这个我也不明白,可以的话 ,能写给我参考下吗?
展开
 我来答
分享是快乐的源泉
2009-05-16 · TA获得超过852个赞
知道小有建树答主
回答量:149
采纳率:0%
帮助的人:106万
展开全部
返回空对象错误是因为
for(int i=0;i<a.length;i++){
System.out.println("用户名: "+a[i].getName()+" "+"用户ID :"+a[i].getId()+" "+"用户余额 :"+a[i].getBalance());

当循环中i = 2时 调用a[i].getName(),getId(),getBalance() 这三个出错的

a[0],a[1]在上面已经 new过了 放的是Account对象所以不会出错 只要对象实例过的 就不会出现空指针导常了

当访问到a[2]的成员变量或方法时,此是就会报错,因为你没有实例化a[2]中引用也称指针 所以为空就报错了

有问题可以hi给我留言~!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
回家先睡觉
2009-05-16 · TA获得超过796个赞
知道小有建树答主
回答量:475
采纳率:0%
帮助的人:638万
展开全部
要求中用户的数量是Bank的变量
class Bank {
int SAVING=1;
int CREDIT=2;
Account[] accounts = new Account[10];
int accountNumber = 0;
public Account createAccount(int id, /*一堆参数*/ int type) {
Account a;
if(type==SAVING) a = new SavingAccount(/*一堆参数*/);
else if(type==CREDIT) a = new CreditAccount(/*一堆参数*/);
accounts[accountNumber] = a;
accountNumber++;
return a;
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Raymondguo008
2009-05-16 · TA获得超过1634个赞
知道小有建树答主
回答量:887
采纳率:100%
帮助的人:473万
展开全部
15??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式