首页 > 解决方案 > 数组返回值问题中的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

标签: javarecursion

解决方案


您忽略了递归调用的值。尝试:

private String findMinimumPricedHelper(String name, IMedia[] treeArray, int index) {
    if (some conditions) {
        return treeArray[index].toString();
    } else {
        return findMinimumPricedHelper(name, treeArray, index+1);
    }
}

推荐阅读