java 递归方法卡住_递归算法怎么理解

java 递归方法卡住_递归算法怎么理解Java递归方法1.说明定义:一个方法体内调用它自己方法递归是一种隐式的循环,它会重复的执行某段代码,但这种重复执行无须循环控制递归一定要向着已知的方向递归,否则这种递归就变成了无穷递归,类似于死循环2.code举例publicclassRecursionTest{publicstaticvoidmain(String[]args){RecursionTestx=newRecursionTest();System.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Java 递归方法

1.说明

定义:一个方法体内调用它自己

  • 方法递归是一种隐式的循环,它会重复的执行某段代码,但这种重复执行无须循环控制
  • 递归一定要向着已知的方向递归,否则这种递归就变成了无穷递归,类似于死循环

2.code 举例

public class RecursionTest { 
   
    public static void main(String[] args) { 
   
        RecursionTest x = new RecursionTest();
        System.out.println(x.getSum(100));
        System.out.println(x.getSum1(100));
        System.out.println(x.getF(10));
        System.out.println(x.Fibonacci(6));

    }
    // 计算1-n所有自然数的和
    public int getSum(int n) { 
   
        if(n ==1) { 
   
            return 1;
        }else { 
   
            return n + getSum(n -1);
        }
    }
    // 计算1-n所有自然数的积
    public int getSum1(int n) { 
   
        if(n ==1) { 
   
            return 1;
        }else { 
   
            return n * getSum(n -1);
        }
    }

    // 已知一个数列 f(0) = 1,f(1) = 4,f(n+2)=2*f(n+1) + f(n)
    //其中n 是大于0的整数 求f(n)的值
    public int getF(int n) { 
   
        if(n == 0) { 
   
            return 1;
        }else if(n == 1){ 
   
            return 4;
        }else { 
   
            return 2 * getF(n-1) + getF(n-2);
        }
    }

    // 计算斐波那锲数列的第N个值(一个数等于前两个数的和)
    public int Fibonacci(int n) { 
   
        if (n == 1) { 
   
            return 1;
        }else if(n == 2) { 
   
            return 1;
        }else { 
   
            return Fibonacci(n-1) + Fibonacci(n-2);
        }
    }
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/192669.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 《JavaScript 模式》读书笔记(7)— 设计模式3「建议收藏」

    这一篇,我们学习本篇中最为复杂的三个设计模式,代理模式、中介者模式以及观察者模式。这三个模式很重要!!七、代理模式在代理设计模式中,一个对象充当另一个对象的接口。它与外观模式的区别之处在于,外观模

  • move_uploaded_file

    move_uploaded_file

  • pycharm专业版激活码(JetBrains全家桶)

    (pycharm专业版激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html9ZHRNTE33T-eyJsaWNlbnNlSWQi…

  • ajax解决跨域问题_ajax支持跨域请求

    ajax解决跨域问题_ajax支持跨域请求CORS跨域方案//弊端:存在浏览器兼容的问题需要被请求方的服务端设置:Access-Control-Allow-Origin注意:Access-Control-Allow-Origin不可设置为,设置为可访问的域名。*服务端配置,不同语言,不同写法,仅借鉴header(“Access-Control-Allow-Origin:“http://cdn….

  • linux shell 脚本 入门到实战详解[⭐建议收藏!!⭐]

    linux shell 脚本 入门到实战详解[⭐建议收藏!!⭐]文章目录shell入门到实战详解[⭐建议收藏!!⭐]关于作者**作者介绍**一、shell入门简介1.1什么是shell1.2shell编程注意事项1.3第一个shell脚本helloworld二、shell环境变量讲解2.1shell变量详解2.2shell系统变量介绍2.3shell环境变量介绍2.3.1常见的系统环境变量2.4shell用户环境变量介绍2.4.1自定义shell环境变量2.4.2echo打印菜单栏2.4.3shell中彩色输出h

  • WinZip Pro 9 for Mac(专业zip压缩解压工具)

    WinZip Pro 9 for Mac(专业zip压缩解压工具)WinzipMac是Mac上的老牌解压缩软件,老字号的压缩软件当然更稳定更靠谱。WinzipMac注册版率先支持ribbon界面,支持ZIP、CAB、TAR、GZIP、MIME,以及更多格式的压缩文件。您可以压缩并加密文件更快捷,更安全。安装:WinZipPro9forMac(专业zip压缩解压工具)zip压缩工具Mac版功能亮点压缩文件以节省空间并发送更快的电子邮件压缩文件可节省宝贵的存储空间,减少文件上载/下载时间,并使您可以发送更快,更高效的电子邮件。-新!WinZ

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号