Project I: Bank

在Hackathon I中,你曾经帮助过一家银行设计过它们银行账户(Bank Account)。由于你的出色工作,银行又聘请你为它们设计一个账户管理系统。

作为一家银行,它应该能够处理如下事务:

  • 添加/删除银行账户

  • 通过客户名字查找相关联的账户

  • 统计银行目前的开户数量

  • 获取账户的一些信息,如平均余额,最大余额等

你已经掌握了银行账户Account的全部代码,以及银行管理系统Bank的部分代码,你可以直接复制它们。你的任务是在Bank.java中完善银行管理系统的功能:

Account.java
public class Account {
    private double balance;
    private String name;
    public Account(double balance, String name)
    {
        this.balance = balance;
        this.name = name;
    }
    public void deposit(double m)
    {
        balance+=m;
    }
    public double getBalance()
    {
        return balance;
    }
    public String getName() {
        return name;
    }
    public void withdraw(double w)
    {
        if(balance>=w)
        {
            balance-=w;
        }
    }
}
Bank.java
import java.util.ArrayList;
public class Bank
{
    private ArrayList<Account> accounts ;  

    /**
     创建一个银行对象,目前银行里没有任何账户。
     */
    public Bank()
    {
        accounts = new ArrayList<Account>();
    }

    /**
     添加银行账户。
     */
    public void addAccount(Account a)
    {
        accounts.add(a);
    }
    
    /**
    TO BE IMPLEMENTED
    任务一:打印银行所有的账户信息,每一个账户占一行,包含name和balance,中间用空格隔开
     */
    public void printList()
    {
        
    }
    
    /**
    TO BE IMPLEMENTED
    任务二:返回银行所有的账户余额总和
     */
    public double getTotalBalance()
    {
          
    }
    
    /**
     TO BE IMPLEMENTED
     任务三:返回账户余额不低于minimum的账户数量
     */
    public int count(double minimum)
    {
       
    }
    
    /**
     TO BE IMPLEMENTED
     任务四:返回余额最大的账户
     */
    public Account getMaximum()
    {
    
    }
}

任务:

  1. 在Bank.java中实现printList()函数,用来打印银行所有的账户信息。其中每一个账户占一行,每一行包括账户name和balance,中间用空格隔开。

  2. 实现getTotalBalance()函数,用来返回银行所有的账户余额总和。

  3. 实现count(int minimum)函数,要求返回账户余额不低于minimum的账户数量。

  4. 实现getMaximum()函数,返回当前银行余额最大的账户。

  5. 在main()中测试上述四个函数。为了测试完整,你需要使用addAccount()在银行中创建至少四个账户,并且每个函数至少测试两次。

Last updated