我得到的錯誤「缺少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