1 /*
2 * 递归方法的使用
3 * 1.递归方法:一个方法体内调用它自身
4 * 2.方法递归包含了一种隐式的循环,它会重复执行某段代码,但这种重复执行无须循环控制
5 * 递归一定要想已知方向递归,否则这种递归就变成了无穷递归,类似于死循环
6 *
7 */
8 public class RecursionTest
9 {
10 public static void main(String[] args)
11 {
12 //例1:计算1-100之间所有自然数的和
13 int sum = 0;
14 for(int i =1; i<=100;i++)
15 {
16 sum +=i;
17 }
18 System.out.println(sum);
19
20
21 //方式二
22 RecursionTest test = new RecursionTest();
23 int sum1 = test.getSum(100);
24 System.out.println(sum1);
25
26 //乘积
27 int sum2 = test.getSum1(100);
28 System.out.println(sum2);
29
30 int sum3= test.f(10);
31 System.out.println(sum3);
32
33 }
34 //例1:计算1-n之间所有自然数的和
35 public int getSum(int n)
36 {
37 if(n==1)
38 {
39 return 1;
40 }
41 else
42 {
43 return n +getSum(n -1);
44 }
45 }
46
47 //例2:计算1-n之间所有自然数的乘积
48 public int getSum1(int n)
49 {
50 if(n==1)
51 {
52 return 1;
53 }
54 else
55 {
56 return n *getSum(n -1);
57 }
58 }
59
60 //例3:已知有一个数列:f(0)=1,f(1)=4,f(n+2)=2*f(n+1)+f(n)
61 //其中n是大于0的整数,求f(10)的值
62
63 public int f(int n )
64 {
65 if(n==0)
66 {
67 return 1;
68 }
69 else if(n==1)
70 {
71 return 4;
72 }
73 else
74 {
75 return 2*f(n-1) +f(n-2);
76 }
77 }
78 }

Java 递归方法的使用 + 例子的更多相关文章

  1. 7.20.01 java格式化输出 printf 例子

    java格式化输出 printf 例子 importjava.util.Date; publicclassPrintf { publicstaticvoidmain(String[] args) { ...

  2. Java递归方法遍历二叉树的代码

    将内容过程中经常用的内容做个记录,如下内容内容是关于Java递归方法遍历二叉树的内容. package com.wzs; public class TestBinaryTree { public st ...

  3. 【转】java格式化输出 printf 例子

    [转]java格式化输出 printf 例子 转自http://www.cnblogs.com/TankMa/archive/2011/08/20/2146913.html#undefined imp ...

  4. fasttext的基本使用 java 、python为例子

    fasttext的基本使用 java .python为例子 今天早上在地铁上看到知乎上看到有人使用fasttext进行文本分类,到公司试了下情况在GitHub上找了下,最开始是c++版本的实现,不过有 ...

  5. java即时通信小例子

    学习java一段时间了,今天写来一个即时通信的小例子练手在其过程中也学到了一些知识拿出来和大家分享,请路过的各位大神多多赐教... 好了下面讲一下基本的思路: 首先,编写服务器端的程序,简单点说吧就是 ...

  6. 关于Java深clone 的例子学习

    之前http://www.cnblogs.com/lhppom/p/4857702.html里有提到关于Java的深克隆的学习,深浅区别就是在于仅复制对象引用和复制对象引用所指向的对象,最近在看< ...

  7. 深入理解计算机系统(2.8)---浮点数的舍入,Java中的舍入例子以及浮点数运算(重要)

    前言 上一章我们简单介绍了IEEE浮点标准,本次我们主要讲解一下浮点运算舍入的问题,以及简单的介绍浮点数的运算. 之前我们已经提到过,有很多小数是二进制浮点数无法准确表示的,因此就难免会遇到舍入的问题 ...

  8. Java处理文件小例子--获取全国所有城市的坐标

    需求:前端展示数据,全国城市的坐标

  9. Java 多线程编程之九:使用 Executors 和 ThreadPoolExecutor 实现的 Java 线程池的例子

    线程池用来管理工作线程的数量,它持有一个等待被执行的线程的队列.         java.util.concurrent.Executors 提供了 java.util.concurrent.Exe ...

  10. 每天进步一点点-实例为导学-一个java对象序列化的例子

    序列化和反序列化例子 如果我们想要序列化一个对象, (对象 转 序列)首先要创建某些OutputStream(如FileOutputStream.ByteArrayOutputStream等),然后将 ...

随机推荐

  1. flask session 伪造

    flask session 伪造 一.session的作用 由于http协议是一个无状态的协议,也就是说同一个用户第一次请求和第二次请求是完全没有关系的,但是现在的网站基本上有登录使用的功能,这就要求 ...

  2. TienChin 活动管理-活动列表展示

    后端 ActivityVO /** * @author BNTang * @version 1.0 * @description 活动管理VO * @since 2023-23-05 **/ publ ...

  3. SQL 训练题目

    title: SQL 训练题目 date: 2023-7-15 01:45:50 tags: - SQL 训练 一. 查询 "01" 课程比 "02" 课程成绩 ...

  4. 分布式缓存-Redis集群

    一.单点Redis弊端 1.数据丢失问题:Redis是内存存储,服务器重启可能会丢失数据 2.并发能力问题:单节点Redis并发能力虽然不错,但也无法满足如618这样的高并发场景 3.故障恢复问题:如 ...

  5. 守护进程(Python)

    #__author__:Kelvin #date:2020/5/10 11:37 import time from multiprocessing import Process def son1(): ...

  6. .NET NativeAOT 指南

    .NET NativeAOT 指南 随着 .NET 8 的发布,一种新的"时尚"应用模型 NativeAOT 开始在各种真实世界的应用中广泛使用. 除了对 NativeAOT 工具 ...

  7. Java开发学习(三十八)----SpringBoot整合junit

    先来回顾下 Spring 整合 junit @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = Spring ...

  8. .NET Avalonia开源、免费的桌面UI库 - SukiUI

    前言 今天分享一款.NET Avalonia基于MIT License协议开源.免费的桌面UI库:SukiUI. Avalonia介绍 Avalonia是一个强大的框架,使开发人员能够使用.NET创建 ...

  9. Linux-grep或和与操作

    一.或(or)操作1.使用选项 -Egrep -E 'a1|a2'filename // 找出文件(filename)中包含a1或者包含a2的行 2.使用egrepegrep 'a1|a2' file ...

  10. NC207781 迁徙过程中的河流

    题目链接 题目 题目描述 牛市的幸存的先民在流星雨之后就忍痛离开了这片土地,选择迁徙,在迁徙的途中,他们需要渡过一条河.因为牛市的树木在流星雨中被严重破坏,所以他们只造出了一艘小船,船太小了,一次只能 ...