我得到的错误“缺少return语句”与此代码:缺少return语句for each循环
public String getAuthorFullName(String title)
{
for (Book authorName : inventory)
if (authorName.getTitle() != null)
{
return authorName.getAuthor().getName().getFullName();
}
else
{
return null;
}
}
我要回复O返回谁通过写这本书的作者的全名如果不存在带有该标题的Book,或者标题为空或“”,则返回null。
我试图把这样的代码:
public String getAuthorFullName(String title)
{
for (Book authorName : inventory)
if (authorName.getTitle() != null)
{
return authorName.getAuthor().getName().getFullName();
}
return null;
但它总是返回第一作者在列表...
有人可以帮我吗?非常感谢。
好耶......你返回第一个和多数民众赞成它。你需要比较'串标题'与任何,然后如果他们匹配返回那个。 '请看看循环的逻辑。这是有道理的,为什么它只返回第一个' – 3kings
首先要做的是让你的代码更清晰*永远*使用花括号循环。例如,第二个代码块中的缩进表明'return null'在循环中 - 但事实并非如此。生活用括号清楚得多。 –
您可能会注意到您正在检查'!= null'而不是相同的'title'。您可能想要检查这一点。 – SomeJavaGuy