【发布时间】:2014-11-28 21:06:38
【问题描述】:
我正在尝试编写一个递归方法,它接受一个 int 数组、数组中的元素数和一个整数,并返回整数是否作为数组中的元素存在。我只是想不通为什么我这不适用于我的所有测试用例。任何帮助将不胜感激!
public static boolean search(int[] findIn, int target, int len){
if(len == 0){
return false;
}else if(findIn[len-1] == target){
return true;
}else{
return search(findIn, target, len-1);
}
}
是的,我意识到除了递归之外还有更好的方法可以做到这一点,但我必须这样做。
我的主要方法是这样的:我暂时只是对其进行硬编码:
int[] arr = {1};
System.out.println(search(arr,1,1));
测试用例:
【问题讨论】:
-
针对哪些测试用例?
-
数组长度不需要参数。如果你有数组,那么你就有了它的长度。
-
乍一看似乎是正确的。失败的测试用例是什么?
-
@Takendarkk 如果没有第三个参数,你将如何递归?
-
我刚刚对其进行了测试,它返回了预期的结果(真)。这里没有问题。