首页 > 解决方案 > 检查是否有一个数组,如果没有创建/添加一个,同时增加数组的大小

问题描述

我正在学习 Java 课程并进行作业。我应该创建一个银行应用程序。

我已经创建了我需要的所有类。

这是 UML:

UML

这就是我应该做的:

现在创建一个如上图所示的 BankAccountService 类。正如您可能已经注意到的,我们在这个类中提供了一个方法“addBankAccount”。此方法接受一个 BankAccount 对象作为参数并将其存储在帐户数组中。确保不能在课堂外使用该帐户的属性。在 addBankAccount 方法中,您将添加以下逻辑: 检查帐户数组是否真的存在。如果这不存在,我们将创建一个数组。您可以决定要制作多大的阵列,确保您有足够的空间来存储您想要在练习中创建的所有帐户。将数组添加到数组中。

这是我已经拥有的:

package BankProject;

public class BankAccountService {



    private void AddBankAccount(BankAccount account[]) {
        if (account == null || account.length == 0) {
            for (int i = 0; i < account.length; i++ ){
            }
        }
    }
}

我的问题是如何将数组从 Person 连接到此类?该程序应该检查数组是否存在并添加一个帐户+增加大小但是java看到我添加的帐户[]为空。我做错什么了吗?我也尝试添加public class BankAccountService extends Person{,但这无助于我的想法。

你们能指出我正确的方向吗?

标签: java

解决方案


我不确定你的问题是什么。但是一个BankAccount属于一个Person,因此您在BankAccount类中具有Person属性,并且一个 Person 可以有多个 BankAccount,这也是您在Person类(BankAccounts [])中所拥有的。

因此,如果您想要在 Service 类中使用 Person 对象,您可以从BankAccount对象中获取它。Person类不需要从BankAccount扩展。

package BankProject;

public class BankAccountService {

    private BankAccount[] accounts;

    private void AddBankAccount(BankAccount account) {
        Person person = account.person;
        BankAccounts[] accountsHeld = person.accounts;

        if (accounts == null) {
            accounts = new BankAccount[accountsHeld.length];
        }
        
        int index = 0;
        for(account: accountsHeld){
            accounts[index] = account;
            index += 1;
        }
    }
}

推荐阅读