繁体   English   中英

我如何使for循环成为递归方法

[英]How can i make for loop a recursive method

如何使此代码成为递归方法?

for (int i = 3; i < arr.length; i++) {
    writer.write(arr[i] + "\n");
    strout += arr[i] + "\n";
}

您可以尝试将代码封装在一个 function 中:

 public static String printRecursive(BufferedWriter writer, String[] arr, int i) throws IOException {        
     String strout = "";
     if(i<arr.length) {
        writer.write(arr[i] + "\n");
        //System.out.println(arr[i] + "\n");
        strout += arr[i] + "\n" + printRecursive(writer,arr,i+1);
     }
    return strout;
 }

你可以从 main 中调用它:

  String strRec = printRecursive(writer,arr,3);

我希望这对你有帮助。

编辑:根据最后评论添加作者

像那样的东西?

let arr = [/* array elements */];
let idx = 3;
let stdout = "";

const recursiveMethod = () => {
  writer.write(`${arr[idx]}\n`);
  strout += `${arr[idx]}\n`;
  
  if(idx < arr.length) {
    idx++;
    return recursiveMethod();
  }
}

recursiveMethod();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM