gpt4 book ai didi

java - 从另一个类创建对象数组

转载 作者:行者123 更新时间:2023-12-02 05:13:17 24 4
gpt4 key购买 nike

好吧,这应该很简单。但我已经研究了一个小时,但无法弄清楚为什么它是一个空指针异常。

我需要为“Sally”创建一个数组,然后测试它的长度,应该为0。这是在驱动程序类的main方法中。

 LendingItem[] sallysItemList = sally.getSignedOutItems();
if (sallysItemList.length == 0)

这是在创建 sally 的对象类中。那个烂B。

    private LendingItem[] signedOutItems;

public LendingItem[] getSignedOutItems() {
return signedOutItems;
}

我觉得我可能需要将借出项目声明为

private LendingItem[] signedOutItems = {};

但我仍然遇到错误。

编辑:

我将添加更多内容,以便更容易理解我需要实现的事情

下面提供了代码。

   System.out.println("\n*** Test case #1: Create a CardHolder object & test accessors");
CardHolder sally = new CardHolder("Sally Smith",
152,
"454-1234");
System.out.println("Name: " + sally.getName()
+ "\nAppt #: " + sally.getAptNumber()
+ "\nPhone: " + sally.getPhoneNumber()
+ "\nMember #: " + sally.getMembershipNumber());

LendingItem[] sallysItemList = sally.getSignedOutItems();
if (sallysItemList.length == 0)
System.out.println("Correct result: Sally has zero lending items.");
else
System.out.println(">> ERROR: Sally has more than zero lending items.");


System.out.println("\n*** Test case #6: Sign out one LendingItem");

if(sally.signOut(testItemList[0]))
{ System.out.println("Correct result: Sally signed out an item successfully.");
sallysItemList = sally.getSignedOutItems();
if (sallysItemList.length == 1)
System.out.println("Correct result: Sally has one lending item.");
else
System.out.println(">> ERROR: Sally has other than one lending item.");
}
else
System.out.println(">> ERROR: Sally was unable to sign out an item.");

这是我迄今为止的代码。只需要返回当前注销的项目即可。

    public LendingItem[] getSignedOutItems() {
return signedOutItems;
}

这就是我们希望添加到数组中的方式,它需要返回一个 boolean 值

    public boolean signOut(LendingItem lendingItem) {
if (signedOutItems.length < 7) {
signedOutItems[0] = lendingItem;
return true;
} else {
return false;
}

不需要直接的代码,只需要知道如何实际实现这一点。

最佳答案

这个

private LendingItem[] signedOutItems;

相当于

private LendingItem[] signedOutItems = null;

所以当你这样做时,

public LendingItem[] getSignedOutItems() {
return signedOutItems;
}

它返回null。初始化并向数组添加元素。比如,

private LendingItem[] signedOutItems = new LendingItem[10];

创建一个具有 10 个 LendingItem 空间的数组。请注意,这 10 个插槽中的每一个都被初始化为 null

关于java - 从另一个类创建对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27180473/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com