gpt4 book ai didi

java - 需要在 for 循环之外使用 return 语句的方法

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

我在 Eclipse 上使用我的方法时遇到了问题。如果在名为 Catalog 的数组中找到该对象,我需要返回一个 Country 对象,如果没有找到,则返回 null。我尝试遍历目录并这样做。然而java要求我在代码的for循环之外添加一个return语句。但是,当我在执行该方法时在 for 循环之外添加 return 语句时,它会完全忽略 for 循环,只返回 for 循环之外的语句。

public Country findCountry(String countryname) {
for (int i = 0; i < catalogue.length; i++) {
if (catalogue[i].getName() == countryname) {
return catalogue[i];
} else {
return null;
}
}
}

编辑:在循环之前添加foundCountry变量并在循环之后返回它。添加了一个中断,并使用 .equals() 比较了字符串。获取 NullPointerException。

public Country findCountry(String countryname) {
Country foundCountry = null;
for (int i = 0; i < catalogue.length; i++) {
if (catalogue[i].getName().equals(countryname)) {
foundCountry = catalogue[i];
break;
}
}
return foundCountry;
}

最佳答案

改变

catalogue[i].getName() == countryname

catalogue[i].getName().equals(countryname)

并且不要从 else 部分返回 null。当循环完成并且没有发现任何内容时执行此操作,如下所示:

public Country findCountry(String countryname) {
for (int i = 0; i < catalogue.length; i++) {
if (catalogue[i].getName().equals(countryname)) {
return catalogue[i];
}
}
return null;
}

请注意,它不是证明。

关于java - 需要在 for 循环之外使用 return 语句的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51055518/

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