gpt4 book ai didi

java - 使循环仅运行一个 if 语句而不是多个 if 语句时出现问题

转载 作者:行者123 更新时间:2023-12-01 13:38:54 24 4
gpt4 key购买 nike

我希望得到一些帮助。这里的问题是,当请求的狗恰好有索引 0 时,循环工作正常,并且只执行第一个 if 语句。如果请求的狗碰巧有另一个索引,则两个 if 语句都会被读取......任何人都可以看到解决方案吗? :)

protected void removeDog() {
String k = readString("Name of dog you want to delete from list: ");
boolean found = false;

for (int x = 0; x < dogRegister.size(); x++) {
if (dogRegister.get(x).getName().equalsIgnoreCase(k)) {
dogRegister.remove(x);

System.out.println(k + " has been deleted from list.");

found = true;
break;
}
else if (!found) {
System.out.println(k + " could not be found in list.");
}
}
}

最佳答案

每次迭代 for 循环时,您都会执行 ifelse if。如果不是第一个,您将在每个迭代中收到一次“无法找到”消息,直到找到它并将其删除或耗尽列表为止。

要仅在根本找不到时打印“无法找到”消息,请将 else if 移到 for 循环之外,删除 else :

for (int x = 0; x < dogRegister.size(); x++) {
if (dogRegister.get(x).getName().equalsIgnoreCase(k)) {
dogRegister.remove(x);
System.out.println(k + ” has been deleted from list.”);
found = true;
break;
}
}
if (!found) {
System.out.println(k + ” could not be found in list.");
}

关于java - 使循环仅运行一个 if 语句而不是多个 if 语句时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21007762/

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