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

来源:百度知道 编辑:UC知道 时间:2024/06/23 18:18:43
项目名称: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,取款数额,返回修

要求中用户的数量是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;
}
}

15??

返回空对象错误是因为
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给我留言~!