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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CSS中的媒体类型media type[通俗易懂]

    CSS中的媒体类型media type[通俗易懂]madiatype作用首先要明白一点,我们平时写的HTML页面,可能在不同的媒体类型中显示,如可能显示在屏幕sreen上,也可能显示在纸质print上。那么当页面在不同的媒体类型中显示时,需要的样式可能是不一样的。比如,一般在screen上显示时,页面字体要大一些,在纸质媒体显示时,页面字体要小一些。那么如何告诉别人某个样式是适用于何种媒体类型的呢?这就要靠声明mediatype来实现了。

    2022年5月25日
    89
  • 贪吃蛇穿墙代码_C语言贪吃蛇实现暂停功能

    贪吃蛇穿墙代码_C语言贪吃蛇实现暂停功能文章目录游戏说明游戏效果展示游戏代码游戏代码详解游戏框架构建初始化界面隐藏光标光标跳转颜色设置初始化蛇随机生成食物打印蛇与覆盖蛇移动蛇游戏主体逻辑函数执行按键判断得分与结束从文件读取最高分更新最高分到文件主函数游戏说明游戏效果展示游戏代码游戏代码详解游戏框架构建首先还是先定义一下界面的大小,即界面的行数和列数。#defineROW23//界面行数#defineCOL42//界面列数此外,我们还需要两个结构体,分别用于存储蛇头的信息和蛇身的信息。蛇头结构体当中存储蛇头当前所在

    2022年9月5日
    4
  • 循环队列 基本概念「建议收藏」

    循环队列 基本概念「建议收藏」循环队列是队列的一种特殊形式。首先介绍队列,然后引申出循环队列。队列又称为“先进先出”(FIFO)线性表限定插入操作只能在队尾进行,而删除操作只能在队首进行队列也可以采用顺序存储结构或链表结构来实现,分别称为顺序队列和链队列队列的顺序表示—顺序队列用一组连续的存储单元依次存放从队首到队尾的元素,附设两个指针head和tail分别指向队首元素和队尾元素的位置,(有的地方用f…

    2022年5月6日
    59
  • 二叉树的先序,中序,后序遍历的序列_二叉树先序遍历和后序遍历正好相反

    二叉树的先序,中序,后序遍历的序列_二叉树先序遍历和后序遍历正好相反    二叉树的遍历主要有三种:(1)先(根)序遍历(根左右)(2)中(根)序遍历(左根右)(3)后(根)序遍历(左右根)举个例子:先(根)序遍历(根左右):ABDHEICFJKG中(根)序遍历(左根右):DHBEIAJFKCG后(根)序遍历(左右根):HDIEBJKFGCA    以后(根)序…

    2022年9月14日
    0
  • STM32单片机介绍_单片机智能控制DIY

    STM32单片机介绍_单片机智能控制DIYSTM32库函数开发系列文章目录第一篇:STM32F103ZET6单片机双串口互发程序设计与实现第二篇:最简单DIY基于STM32单片机的蓝牙智能小车设计方案第三篇:最简单DIY基于STM32F407探索者开发板的MPU6050陀螺仪姿态控制舵机程序第四篇:最简单DIY基于STM32F407探索者开发板和PCA9685舵机控制模块的红外遥控机械臂控制程序第五篇:注释最详细、代码最简单的STM32+摄像头+显示屏的颜色跟踪电路软硬件方案第六篇:最简单DIY基于STM32单片机的WIFI智能小车设计

    2022年10月17日
    0
  • 词向量的作用

    词向量的作用      为了描述词与词之间的相似程度而构建的高维向量,而视频,音频数据构建本身意义,可以直接通过数据进行描述图像与声音的相似度。

    2022年5月17日
    41

发表回复

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

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