VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > JavaScript教程 >
  • 【JAVA】编程(5)---递归

作业要求:

利用递归来计算出 从1加到100的数和 ;

public class 递归 {
    public static void main(String[] args) {
        System.out.println(diGui(100));
    }

    public static int diGui(int n) {
        //接收输入 n=1 的情况并输出结果
        if (n == 1) return 1;
      
        /*在else的return中,再次进入digui()前,前面的 n 都已经进入到了加法运算中,后面的递归操作结束在当 新n=1 时,最后返回的是1,然后进入
        到加法运算中,此时加法运算结束,返回值产生;通过上一行中的流程分析得知:if(n==1)对 n=1 情况的选择步骤是必需的,否则递归无法形成,若要
        计算一个数的阶乘也是相同的道理,只需把第二个选择中的代码返回值运算改为“*”即可,如:return n*diGui(n-1);*/    
      
        else return n + diGui(n - 1);
        
    }
}

输出结果:

5050

Process finished with exit code 0

总结:由于递归是“ 自己调用自己的结构 ”,所以必须要手动设定一个选择卡口来拦截“ 已经找到结果的那一次调用自己 ”,并让方法的递归循环在此时结束,返回结果。


博主能力有限,若程序有bug或有其他不当之处,请狠狠打脸博主           (~ ̄(OO) ̄)ブ

来源:

https://www.cnblogs.com/Burning-youth/p/15534879.html


相关教程