缺少return语句的地方? [英] Missing a return statement somewhere?
本文介绍了缺少return语句的地方?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我工作的一个基本的Java分配学校。这段代码涉及到搜索中一个ArrayList的特定部分号码。当我尝试编译时,IDE说我有一个丢失return语句。不过,我看不出它在哪里。我需要一个return语句索引的增量以下?如果是这样,则返回空变得无法访问。谢谢你们非常感谢。
公共InventoryItem findInventoryItem(INT searchPartNumber)
{
INT索引= 0;
布尔检索=真实的;
而(指数< items.size()及和放大器;搜索){
InventoryItem inventoryItem = items.get(指数);
INT fetchedPartNumber = inventoryItem.getPartNumber();
如果(fetchedPartNumber ==(searchPartNumber)){
搜索= FALSE;
返回inventoryItem;
}
其他{
指数++;
} 如果(搜索){
返回null;
} }
}
解决方案
您code有几个问题:
- 您比较列表第一项不匹配后 - 你会停止比较,因为搜索是真实的,你将返回null
- 在空单的情况下,你需要返回null太
这里是固定的版本:
公共InventoryItem findInventoryItem(INT searchPartNumber){
对于(InventoryItem inventoryItem:项目)
如果(inventoryItem.getPartNumber()== searchPartNumber)
返回inventoryItem;
返回null;
}
I'm working on a basic Java assignment for school. This snippet involves searching for a specific part number in an ArrayList. When I try to compile, the IDE says I have a missing return statement. However, I can't see where it is. Do I need a return statement following the increment of the index? If so, then the return null becomes unreachable. Thank you guys very much.
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;
}
}
}
解决方案
your code has several problems:
- after you compared first item in list and it does not match - you will stop comparing, as searching is true and you will return null
- in case of empty list you need to return null too
here is the fixed version:
public InventoryItem findInventoryItem(int searchPartNumber) {
for (InventoryItem inventoryItem : items)
if (inventoryItem.getPartNumber() == searchPartNumber)
return inventoryItem;
return null;
}
这篇关于缺少return语句的地方?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文