java - 数组返回值问题中的Java递归线性搜索
问题描述
我正在使用递归线性搜索算法。即使 if 条件为真,它也总是返回 null。如果我不输入 null 它会出错。我无法弄清楚我怎样才能做到正确。感谢帮助
private String findMinimumPricedHelper(String name, IMedia[] treeArray, int index) {
if (some conditions)
return treeArray[index].toString();
else
findMinimumPricedHelper(name, treeArray, index+1);
return null;
}
我期待一个值treeArray[index].toString()
,但它返回 null
解决方案
您忽略了递归调用的值。尝试:
private String findMinimumPricedHelper(String name, IMedia[] treeArray, int index) {
if (some conditions) {
return treeArray[index].toString();
} else {
return findMinimumPricedHelper(name, treeArray, index+1);
}
}
推荐阅读
- javascript - Bootstrap rotate whole Layout and make just on an scrolling breakpoint
- mdx - Mondrian MDX query: total aggregations
- doxygen - 如何更改 doxygen API 网页中显示的包含文件路径?
- git - 无限 git pull git 远程修剪循环 - 如何修复?
- node.js - Node.js 和 MongoDB 没有正确读取变量
- django - 涉及不查询几何本身的具有几何的表的查询是否比没有几何的表需要更长的查询时间?
- html - FullCalendar 标题显示 MM/YYYY 堆叠而不是并排显示
- python - RaspberryPi:TypeError:不支持的格式字符串传递给 NoneType.__format__ dht22 lcd 16x2
- oracle - Sql*Plus 错误:ORA-12154 将 sql*plus 与 oracle 12.2.0.1 Docker 映像连接
- node.js - Mongoose .findByIdAndDelete 返回 null