我在一个救援中心做一个apcs项目,在那里人们可以领养动物等等。我遇到的问题是,在我的ui中,当我试图列出所选所有者的宠物时,出现了一个异常,表示它不能读取o.pet,因为它是null。我想知道为什么它是空的,即使我设置了a的所有者为 this
在所有者采用函数中,并在救援中心调用它采用函数? Owner class
void adopt(Animal a) { pet = a; a.owner = this; }
RescueCenter class:
```
public boolean adopt(String customerName, String animalName) {
Owner o = new Owner(customerName, age);
Animal d = new Dog(animalType, animalName, animalBreed, animalAge);
if (!o.isQualified() || !d.isQualified()) {
o.qualify();
d.qualify();
}
if (o.isQualified() && d.isQualified()) {
o.adopt(d);
d = o.pet;
adoptableAnimalList.remove(d);
return true;
}
return false;
}
public String getPet(String currCustomerName) {
Owner o = new Owner(currCustomerName, age);
return o.pet.name;
}
1条答案
按热度按时间sbdsn5lh1#
你创造了一个
new Owner
但从不打电话adopt
在上面(因此,您还可以在中创建并丢弃对象adopt
)你可能要找的是Map<String, Owner>
在那里你可以存储和检索Owner
物体。