期末小作业银行ATM系统模拟参考答案
【摘要】
/*Account类:表示银行账户*///创建包://package com.mybank.domain;//定义类的时候,要注意访问限制符的使用.public class Account{ protected double balance;//表示余额 protected Account(double initBalance)//...
-
/*Account类:表示银行账户*/
-
//创建包:
-
//package com.mybank.domain;
-
//定义类的时候,要注意访问限制符的使用.
-
public class Account
-
{
-
protected double balance;//表示余额
-
-
protected Account(double initBalance)//构造器,来初始化成员变量.
-
{
-
this.balance=initBalance; //开户.
-
}
-
-
public double getBalance() //获取余额.
-
{
-
//想获得balance的值,需要使用
-
return balance;
-
}
-
public boolean deposit(double amt) //存款,amt:存款金额
-
{
-
balance=balance+amt;
-
return true;
-
}
-
public boolean withdraw(double amt) //取款amt:取款金额
-
//增加业务规则:取款金额和余额. 保证余额〉=取款金额.
-
{
-
boolean result=false; //假设操作失败.
-
if(balance>=amt)
-
{
-
balance=balance-amt;
-
result=true; //操作成功.
-
}
-
return result;
-
}
-
}/*类定义完成.*/
-
/**
-
建立Bank类:
-
属性:
-
customers:Customer[]
-
numberOfCustomers:int
-
构造器:
-
Bank
-
方法:
-
addCustomer(x:String,m:String)
-
getNumOfCustomers():int
-
getCustomer(index:int):Customer
-
达到以下输出效果
-
Customer[1]is 李逵
-
Customer[2]is 宋江
-
Customer[3]is 燕青
-
customer[4]is 鲁智深
-
*/
-
class Bank
-
{
-
private Customer[]customers;//Customer类型的对象数组
-
private int numberOfCustomers;//记录下一个customers数组索引的一个整数.
-
-
public Bank(){
-
//代码为空.至少长度为5来初始化customers数组
-
customers=new Customer[5];
-
numberOfCustomers=0;
-
}
-
public void addCustomer(String x,String m)//参数为姓x、名m
-
{
-
customers[numberOfCustomers]=new Customer(x,m);//构造一个新的Customer对象
-
numberOfCustomers++; //指向下一个编号.
-
}
-
public int getNumOfCustomers(){ //获得客户数量.
-
return numberOfCustomers;//返回
-
}
-
public Customer getCustomer(int index){ //实现的功能是啥呢?通过索引来检索客户的信息
-
return customers[index]; //通过customers数组来返回一个Customer对象
-
}
-
}
-
/*定义银行客户类*/
-
//创建包
-
//package com.mybank.domain;
-
-
public class Customer
-
{
-
private String xing;//姓
-
private String ming;//名
-
private Account account;//定义Account类型的一个成员变量,表示客户有一个账户
-
-
//构造器
-
public Customer(String x,String m)
-
{
-
xing=x;
-
ming=m;
-
}
-
//方法
-
public String getXing() //获得姓
-
{
-
return xing;
-
}
-
public String getMing()//获得名
-
{
-
return ming;
-
}
-
public Account getAccount() //获得客户的账户方法
-
{
-
return account; //返回账户
-
}
-
public void setAccount(Account acct) //设置客户的账户.
-
{
-
this.account=acct;
-
}
-
}
-
/*
-
SavingAccount:储蓄账户类.
-
是账户类的子类.
-
*/
-
class SavingAccount extends Account
-
{
-
//属性.
-
private double interestRate; //利率.
-
//构造器.对成员变量初始化。
-
public SavingAccount(double initBalance,double interestRate)
-
{
-
super(initBalance); //调用父类的构造器. 把父类的构造器给包含过来.
-
this.interestRate=interestRate;
-
}
-
}
-
/*
-
透支账户类
-
透支账户类是账户类的子类.
-
*/
-
class CheckingAccount extends Account
-
{
-
//属性
-
private double overdraftAmount; //透支金额
-
//构造器.成员变量初始化.
-
public CheckingAccount(double initBalance,double overdraft)
-
{
-
super(initBalance);
-
this.overdraftAmount=overdraft;
-
}
-
public CheckingAccount(double initBalance)
-
{
-
super(initBalance);
-
}
-
//方法.重写取钱方法,因为透支账户取钱可以透支.
-
public boolean withdraw(double amt)
-
{
-
return false;
-
}
-
}
-
class TestBanking
-
{
-
public static void main(String[] args)
-
{
-
Bank lsBank=new Bank();
-
-
lsBank.addCustomer("李","逵");//customers[0]=李逵
-
lsBank.addCustomer("宋","江");//customers[1]=宋江
-
lsBank.addCustomer("燕","青");
-
lsBank.addCustomer("鲁","智深");
-
-
//System.out.println("长度"+lsBank.getNumOfCustomers());
-
//Customer objCust=new Customer();
-
for(int i=0;i<lsBank.getNumOfCustomers();i++){
-
Customer objCust=lsBank.getCustomer(i);
-
System.out.println("Customer["+(i+1)+"]is"+objCust.getXing()+objCust.getMing());
-
}
-
-
/*Customer objCust=lsBank.getCustomer(1);
-
System.out.println("Customer[1]is"+objCust.getXing()+objCust.getMing());
-
objCust=lsBank.getCustomer(2);
-
System.out.println("Customer[2]is"+objCust.getXing()+objCust.getMing());
-
objCust=lsBank.getCustomer(3);
-
System.out.println("Customer[3]is"+objCust.getXing()+objCust.getMing());
-
objCust=lsBank.getCustomer(0);
-
System.out.println("Customer[4]is"+objCust.getXing()+objCust.getMing());*/
-
}
-
}
文章来源: aaaedu.blog.csdn.net,作者:tea_year,版权归原作者所有,如需转载,请联系作者。
原文链接:aaaedu.blog.csdn.net/article/details/52718344
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)