A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李健09 中级黑马   /  2014-3-20 16:27  /  1462 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李健09 于 2014-3-21 19:21 编辑

import java.io.*;
public class FileDemo3
{
public static void main(String[] args)
{
  int n=getSum(3);
  System.out.println("n="+n);
}
public static int getSum(int n)
{
  if(n==1)
   return 1;
  return n+getSum(n-1);
}
}
//问下在有返回值得递归当中 return n+getSum(n-1); 此时是直接执行调用getSum(int n)函数吗?return n+getSum(n-1)不运行吗,就是n+(n-1)运行吗?

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

2 个回复

倒序浏览
会直接调用getSun(n-1)这个函数,因为它要算出n+getSun(n-1)的值后才能进行返回。当递归到n==1时getSun(int n)函数才会结束,程序就会依次返回。

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报
无道 发表于 2014-3-20 21:09
会直接调用getSun(n-1)这个函数,因为它要算出n+getSun(n-1)的值后才能进行返回。当递归到n==1时getSun(int ...

谢了 知道怎么回事了 当时有点晕了...
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马