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 问点问题,谢谢 。。。
我知道 问题 是没有对象实例 ,按照题目,应该怎么写呢? 当前账户数量 这个我也不明白,可以的话 ,能写给我参考下吗? 展开
项目一
练习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 问点问题,谢谢 。。。
我知道 问题 是没有对象实例 ,按照题目,应该怎么写呢? 当前账户数量 这个我也不明白,可以的话 ,能写给我参考下吗? 展开
3个回答
展开全部
返回空对象错误是因为
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给我留言~!
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给我留言~!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要求中用户的数量是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;
}
}
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??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询