Java 递归方法的使用 + 例子
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 递归方法的使用 + 例子的更多相关文章
- 7.20.01 java格式化输出 printf 例子
java格式化输出 printf 例子 importjava.util.Date; publicclassPrintf { publicstaticvoidmain(String[] args) { ...
- Java递归方法遍历二叉树的代码
将内容过程中经常用的内容做个记录,如下内容内容是关于Java递归方法遍历二叉树的内容. package com.wzs; public class TestBinaryTree { public st ...
- 【转】java格式化输出 printf 例子
[转]java格式化输出 printf 例子 转自http://www.cnblogs.com/TankMa/archive/2011/08/20/2146913.html#undefined imp ...
- fasttext的基本使用 java 、python为例子
fasttext的基本使用 java .python为例子 今天早上在地铁上看到知乎上看到有人使用fasttext进行文本分类,到公司试了下情况在GitHub上找了下,最开始是c++版本的实现,不过有 ...
- java即时通信小例子
学习java一段时间了,今天写来一个即时通信的小例子练手在其过程中也学到了一些知识拿出来和大家分享,请路过的各位大神多多赐教... 好了下面讲一下基本的思路: 首先,编写服务器端的程序,简单点说吧就是 ...
- 关于Java深clone 的例子学习
之前http://www.cnblogs.com/lhppom/p/4857702.html里有提到关于Java的深克隆的学习,深浅区别就是在于仅复制对象引用和复制对象引用所指向的对象,最近在看< ...
- 深入理解计算机系统(2.8)---浮点数的舍入,Java中的舍入例子以及浮点数运算(重要)
前言 上一章我们简单介绍了IEEE浮点标准,本次我们主要讲解一下浮点运算舍入的问题,以及简单的介绍浮点数的运算. 之前我们已经提到过,有很多小数是二进制浮点数无法准确表示的,因此就难免会遇到舍入的问题 ...
- Java处理文件小例子--获取全国所有城市的坐标
需求:前端展示数据,全国城市的坐标
- Java 多线程编程之九:使用 Executors 和 ThreadPoolExecutor 实现的 Java 线程池的例子
线程池用来管理工作线程的数量,它持有一个等待被执行的线程的队列. java.util.concurrent.Executors 提供了 java.util.concurrent.Exe ...
- 每天进步一点点-实例为导学-一个java对象序列化的例子
序列化和反序列化例子 如果我们想要序列化一个对象, (对象 转 序列)首先要创建某些OutputStream(如FileOutputStream.ByteArrayOutputStream等),然后将 ...
随机推荐
- SqlSugar新增数据
1.插入方式 1.1 单条插入实体 //返回插入行数 db.Insertable(insertObj).ExecuteCommand(); //都是参数化实现 //异步: await db.Inser ...
- 10、数据库学习规划:MySQL - 学习规划系列文章
MySQL数据库是笔者认识的几个流行的数据库之一.类似于Linux重装系统,其也是开源的,最主要是有很多的社区支持,众多的开发者对其能够进行使用,所以其功能也挺强大,便于使用.通过对MySQL数据库的 ...
- PHP中的正则表达式相关函数
PHP中的正则表达式相关函数 常用的正则函数 1.执行一个正则表达式匹配 int preg_match ( string pattern , string subject [, array & ...
- 21.1 动态TLS--《Windows核心编程》
应用程序通过调用一组4个函数来使用动态 TLS,这些函数实际上最经常为 DLL 所使用. 通常情况下,如果DLL使用 TLS,那么当它用 DLL_PROCESS_ATTACH 标志调用它的 DllMa ...
- layui 的tab标签,选项卡的删除,是先切换,后删除,其实这样设计挺好的。
layui的 tab关闭时,是先触发 切换事件,然后再触发删除事件,这一点留意,其实这样设计挺好的.那么留意点,就是先向主进程发送切换消息,然后再向主进程发送删除消息, 这样反而更加有利于,主进程代码 ...
- 【Flink入门修炼】1-4 Flink 核心概念与架构
前面几篇文章带大家了解了 Flink 是什么.能做什么,本篇将带大家了解 Flink 究竟是如何完成这些的,Flink 本身架构是什么样的,让大家先对 Flink 有整体认知,便于后期理解. 一.Fl ...
- Ubuntu 20.04 出现 SSL_connect: error:1425F102 .. unsupported protocol问题的解决
在安装完Ubuntu 20.04后, 这个问题影响了好几个软件, 包括MySQL Workbench, Openfortigui等等, 出现的错误都是 ERROR: SSL_connect: erro ...
- 【Android】截图案例
1 工作空间 2 代码 MainActivity.java package com.zhyan8.demo; import android.graphics.Bitmap; import andr ...
- Spring Boot学生信息管理系统项目实战-2.字典管理和模板管理
1.获取源码 源码是捐赠方式获取,详细请QQ联系我 :) 2.实现效果 3.项目源码 只挑重点讲,详细请看源码. 3.1 字典管理 字典管理这里分为字典的编码和名称和字典数据的增删改查. 前端页面: ...
- Java I/O 教程(九) FileWriter和FileReader
FileWriter Java FileWriter 用于往文件中写入字符数据. 不像FileOutputStream类,你无需转换字符串成字节数组,因为它提供了直接写字符串的方法. 类定义 publ ...