一、递归概述和注意事项
1、什么是递归?
方法内部调用方法本身的现象
2、递归的注意事项
A:递归一定要有出口,否则会死循环
B:递归的次数不宜过多,不然有可能会造成内存溢出
C:构造方法不能递归调用
-----------------------------------------------------------------------------------------------------------------
二、递归求阶乘图解
解决问题的思想:
前提:大问题是未知的 小问题已知
把问题分解成若干个问题
把若干个问题中的大问题继续分解
知道把所有问题都分解成小问题.
-----------------------------------------------------------------------------------------------------------------
三、递归求阶乘内存图解
-----------------------------------------------------------------------------------------------------------------
四、递归求裴波纳切数列问题
1、用递归实现需求的思想(重要)
第一步:找出口(第一个月,第二个月)
第二步:找规律 从第三个月开始,每个月兔子的个数是前两个月的和
2、写代码需要考虑的问题
(1)考虑递归方法的返回值类型
(2)考虑递归方法的参数类型
-----------------------------------------------------------------------------------------------------------------
五、递归获取目录下所有指定后缀的名称(目录不是空的)
思路:
A:封装目录 File构造
B:获取目录下所有文件及文件夹的对象数组
C:遍历对象数组获取每一个对象
D:对对象进行判断
如果是文件夹返回B操作
如果是文件,判断是否是java结尾,如果是输出.
-----------------------------------------------------------------------------------------------------------------
六、递归删除带内容的目录
思路:
A:封装目录 File构造
B:获取目录下所有文件及文件夹的对象数组
C:遍历对象数组获取每一个对象
D:对对象进行判断
如果是文件夹返回B操作
如果是文件,删除.
E:在for循环外进行一步删除文件夹的操作.
|
|