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);
        }
    }
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【Unity3D】自学之路2.0

    【Unity3D】自学之路2.0一、前言原文主要讲的是如何从零基础入门,然后一步一步进阶的文章,包括很多学习资料,学习的网址,研究方向等,内容还是比较全面的。大家多多支持一些克森大神,关注一下他的公众号。这篇文章就将原文的内容进行总结合并,然后转载过来跟大家一起学习。二、原文原文地址:https://mp.weixin.qq.com/s/nAaGAzT7NIPH4v6YOzBCRg原文作者:克森原文出处:微…

    2022年6月1日
    32
  • 将vue项目打包成移动端app(app打包教程)

    Vue项目打包成移动端APP需要准备的工具:Hbuilder目录Vue项目打包成移动端APP首先打包vue到dist目录然后再Hbuilder中打开dist目录然后将dist包含的web项目转换为移动APP项目前几步配置完成后,就可以在手机上进行真机调试了真机测试没有问题,就可以进行下一步—》打包apk了最后将apk安装包安装到手机上就可以正常使用了…

    2022年4月10日
    1.5K
  • matlab仿真的图片怎么保存_matlab如何导出

    matlab仿真的图片怎么保存_matlab如何导出一种是出来图形窗口后手动保存(这儿又可以分两种):1直接从菜单保存,有fig,eps,jpeg,gif,png,bmp等格式。2edit——〉copyfigure,再粘贴到其他程序。另一种是用命令直接保存(这里也有两种):1用saveas命令保存图片。saveas的三个参数:(1)图形句柄,如果图形窗口标题栏是“Figure3”,则句柄就是3.(2)文件名。(3)单引号字符串,指…

    2025年11月6日
    1
  • signal 聊天记录_实时查看车辆位置app

    signal 聊天记录_实时查看车辆位置app开发工具与关键技术:js作者:GuanLW撰写时间:2022/3/18第一步:先在vs的NuGet包中下载安装Microsoft.AspNet.SignalR。第二步:右键项目->新建项,选择signalr集线器类,并写入代码,namespace与类名记得改成实际类名如下:usingMicrosoft.AspNet.SignalR;usingMicrosoft.AspNet.SignalR.Hubs;usingSystem;usingSystem.C

    2022年10月19日
    2
  • pycharm整理代码格式_pycharm怎么变成黑色

    pycharm整理代码格式_pycharm怎么变成黑色black简介自动的代码格式化工具,兼容pep8,项目地址为:官方给出的简介:BlackistheuncompromisingPythoncodeformatter.Byusingit,youagreetocedecontroloverminutiaeofhand-formatting.Inreturn,Blackgivesyouspeed,determinism,andfreedomfrompycodestylenaggingabo

    2025年7月30日
    4
  • lnk2019无法解析的外部符号_declspec_无法解析的外部符号lnk2001

    lnk2019无法解析的外部符号_declspec_无法解析的外部符号lnk2001VisualStudio2015编译中出现此问题:errorLNK2019:无法解析的外部符号__vsnprintf,该符号在函数xxxx中被引用解决方案:1、可能是由于某些头文件的函数或者未连接某些链接库所引起,故将头文件和链接库包含进去就OK。2、在项目工程属性中将MFC的使用变为“在共享DLL中使用MFC”3、编译时加入以下代码#include<Windows.h…

    2022年9月25日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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