好的,所以我一直在尝试用Java进行递归,我可以完成简单的任务,例如求和,求逆等。但是我一直在努力进行以下练习:
我正在尝试使用递归查找数组中的最小数目,但始终得到0.0的答案。
我对递归的理解是,我需要增加一个元素,然后提供一个将结束递归的基本情况。我认为我在必须返回值以及何时最好调用递归方法时感到很困惑。
这是我到目前为止所拥有的:
public static double findMin(double[] numbers, int startIndex, int endIndex) {
double min;
int currentIndex = startIndex++;
if (startIndex == endIndex)
return numbers[startIndex];
else {
min = numbers[startIndex];
if (min > numbers[currentIndex]) {
min = numbers[currentIndex];
findMin(numbers, currentIndex, endIndex);
}
return min;
}
} //findMin
此代码中存在各种问题,包括:
findMin
调用的结果。startIndex
对于的每次调用都会相同findMin
,因为currentIndex
设置为startIndex
之前 的值startIndex
会增加。本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句