【问题标题】:Converting iterative code to recursive code [closed]将迭代代码转换为递归代码 [关闭]
【发布时间】:2020-10-25 02:57:13
【问题描述】:

我需要一些有关该功能的帮助。我将在其他函数中使用“val”,但是当我尝试在递归函数中返回值时,只返回 0。我需要在递归函数中创建这个循环 对不起我的英语不好。非常感谢

int val = 0;
for (int i = 0; i < arreglo.length; i++) {
    if (arreglo[i] % 2 != 0) {
        val++;
    }
}

【问题讨论】:

    标签: java recursion recursive-datastructures


    【解决方案1】:

    这是一个简单的例子:

    对于递归的基本情况,您必须提供起始索引和初始值,因此将 0 传递给 index 参数,将 0 传递给 val 参数:

    public class Recursive{
         public static int recursive(int[] arreglo, int index, int val) {
             if (index == arreglo.length ) {
                 return val;
             } else {
                 if (arreglo[index] % 2 == 0) {
                     val++;  // increment value - even number
                 }
                 return recursive(arreglo, index+1, val);
             }
         }
     
         public static void main(String []args){
             int[] r = {1, 2, 3, 4, 5, 6, 7, 8};
             int result = recursive(r, 0, 0);
             System.out.println(result); // Outputs 4 
         }
    }
    

    【讨论】:

      猜你喜欢
      • 2021-02-11
      • 2015-08-22
      • 1970-01-01
      • 2019-05-18
      • 2017-02-22
      • 2016-01-26
      • 2017-03-05
      相关资源
      最近更新 更多