我在我的java代码中有一些错误..我试图通过递归找到最小数..我在最后一个索引中的错误..我注意到如果最后一个索引中的最小数我会得到错误消息“java.lang.ArrayIndexOutOfBoundsException:8”。否则,如果最小值不在最后一个索引中,则返回数组中找到的第一个最小值,并且从不检查其他值。
这是我的代码:
public static int minimumElement(int [] nums,int i){
if (i < nums.length && nums[i] < nums[i+1] )
return nums[i];
else
return minimumElement(nums, i=i+1);
}
产出
image of first minimum number found in the array
image of minimum number in last index
2条答案
按热度按时间fzwojiic1#
假设
nums.length = 20
和i = 19
,那么nums[19 + 1]
将是nums
中的第21个元素,它不可能存在于数组中,因此会出现错误。sxpgvts32#
我找到了答案。