好的,我一直在尝试理解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