小编Ind*_*eel的帖子

返回语句不适用于Java

我一直在尝试一个小代码来学习java中的递归.写下面的方法使用递归实现线性搜索.但是当我使用数组调用此方法并将变量作为输入进行搜索时,当方法到达return语句时,它不会退出该方法.相反,在if循环中执行语句之后,它再次进入else循环.

我有两个问题.

1)为什么没有退出达到'返回'的方法?

2)为什么在执行if循环后进入else循环?

我在这做错了什么?有人可以看看并帮助我.

linearRecursiveSearch(Constants.INPUT_INT_ARRAY, Constants.INPUT_INT_ARRAY[0], Constants.NUMBER_TO_SEARCH); 



int count = 0;
public <T> void linearRecursiveSearch(T[] array,T tmp, T value) {
    count++;
    if (tmp == value) {
        System.out.println("The value has been found");
        return;
    } else {
        for (int i = count; i < array.length; i++) {
            T tmp1 = array[i];
            linearRecursiveSearch(array,tmp1, value);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java generics recursion

4
推荐指数
1
解决办法
141
查看次数

标签 统计

generics ×1

java ×1

recursion ×1