我有以下代码
public void makeBaby() {
String duplicate;
boolean full = false;
boolean same = false;
for (int i = 0; i < park.length; i++) {
if (park[i] == null) {
full = false;
} else if (i == park.length - 1 && park[i] != null) {
full = true;
}
if (i != park.length - 1) {
for (int j = 1; j < park.length; j++) {
if (park[i].name.equals(park[j].name)) {
same = true;
duplicate = park[i].name;
}
}
}
if (!full) {
System.out.println("The zoo is full. Cannot make any more babies");
} else if (!same) {
Animal duplicate = new Animal((float) 0.1 * park[i].mass,park[i].name, park[i].legs);
addAnimal(duplicate);
}
}
}
正如在代码中可能看到的那样,我必须查看名为 park 的数组是否已满,如果没有,我需要制作一个婴儿动物。但在此之前,我还需要检查是否有 2 种动物具有相同的类型(名称)。
但是我遇到了线路问题
Animal duplicate = new Animal((float) 0.1 * park[i].mass,park[i].name, park[i].legs);
addAnimal(duplicate);
因为不知何故java无法将重复项识别为我在上面的if语句中设置的重复项。
它只是在创建一种叫做重复的动物,这不是我想做的。