【发布时间】:2016-03-04 22:01:24
【问题描述】:
我正在为学校完成一项基本的 Java 作业。这个 sn-p 涉及在 ArrayList 中搜索特定的零件号。当我尝试编译时,IDE 说我缺少返回语句。但是,我看不到它在哪里。索引增加后是否需要返回语句?如果是这样,则返回 null 变得无法访问。非常感谢你们。
public InventoryItem findInventoryItem(int searchPartNumber)
{
int index = 0;
boolean searching = true;
while (index < items.size() && searching){
InventoryItem inventoryItem = items.get(index);
int fetchedPartNumber = inventoryItem.getPartNumber();
if(fetchedPartNumber == (searchPartNumber)){
searching = false;
return inventoryItem;
}
else{
index++;
}
if(searching){
return null;
}
}
}
【问题讨论】:
-
想象一下
items.size() == 0的情况,你的函数会返回什么? -
或者当
fetchedPartNumber在所有情况下都不等于searchPartNumber,或者fetchedPartNumber为空,或者...建议OP重写一些方法体。 -
searching变量似乎是多余的。在它设置为false的唯一情况下,您会立即返回。