直接递归称为方法自身调用自己

间接递归可以A方法调用B方法,B方法调用方法,C方法调用A方法。

注意事项:

递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出。

在递归中虽然有限定条件,但是递归次数不能太多,否则也会发生栈内存溢出。

构造方法,禁止递归。

假如有方法A,没有限制,不断的递归A方法,那么分配的栈内存中就有无数个A方法,最终导致栈内存溢出。构造方法中不可以递归,因为构造方法是创建对象使用的,一直递归会导致内存中有无数多个对象,直接编译报错。

用递归方法求1-100的和

public class Demo01{

public static void main(String[] args) {

System.out.println(get(100));

}

public static int get(int n) {

if (n == 1) {

return 1;

}

return n + get(n - 1);

}

}

用递归求n的阶乘

public class Demo01{

public static void main(string[] args){

}

public int get(int n){

if(n==1){

return 1;

}

return n*get(n-1);

}

}

波菲纳妾数列

public class Demo01{

public static void main(string[] args){

}

public int get(int n){

if(n==1){

return 1;

}

if(n==2){

return 1;

}

return get(n-1)+get(n-2)

}

}

public class Lx1 {

public static void main(String[] args) {

//创建目标对象文件

File f=new File("F:\\java0803\\date01");

//利用匿名内部类创建对象

FileFilter ff=new FileFilter() {

public boolean accept(File f) {

return f.getName().toLowerCase().endsWith(".java");

}

};

//建立file数组,遍历date01下的文件

File[] files=f.listFiles(ff);

for(File file:files){

System.out.println(file);

}

}

}

public class Lx1 {

public static void main(String[] args) {

//创建目标对象文件

File f=new File("F:\\java0803\\date01");

//利用匿名内部类创建对象

FileFilter ff=new FileFilter() {

public boolean accept(File f) {

return f.getName().toLowerCase().endsWith(".java");

}

};

//建立file数组,遍历date01下的文件

File[] files=f.listFiles(ff);

for(File file:files){

System.out.println(file);

}

}

}

遍历java0803下的java文件

public class Lx01 {

public static void main(String[] args) {

//创建目标文件

File file=new File("F:\\java0803");

//调用get方法

get(file);

}

public static void get(File file){

//打印文件夹

System.out.println("====="+file+"====");

//创建file数组,并判定规则

File[] files=file.listFiles(new Myfilefiller());

//遍历file数组

for(File f:files){

//判断是文件夹,是在调用get()方法

if(f.isDirectory()){

get(f);

}else{

System.out.println(f);

}

}

}

}

java filefilter递归_Java中的递归+文件过滤器相关推荐

  1. java file 方法_JAVA中File的常用方法

    一.File类中包含了很多获得文件或文件夹属性的方法,使用起来比较方便,下面将常见的方法介绍如下: a.createNewFile方法 public boolean createNewFile() t ...

  2. java用递归删除文件夹_Java中通过递归调用删除文件夹下所有文件

    摘自 : http://blog.sina.com.cn/s/blog_79333b2c0100xiu4.html import java.io.File; public class FileTest ...

  3. java迭代和 递归的异同_Java中的递归和迭代之间有什么区别?

    该递归和迭代都重复执行的指令集.递归是指函数中的语句重复调用自身时的情况.该迭代是当循环重复执行,直到控制条件为假.递归和迭代之间的主要区别在于,递归是一个过程,始终应用于函数,而迭代则应用于我们要重 ...

  4. java读取文件 路径_Java中的获取文件的物理绝对路径,和读取文件

    获取文件的绝对路径,读取该文件 一.文件目录打印图 下面的文件目录图,是项目中文件的位置信息:下面的例子是按照这个图来演示的. . |-- java | |-- ibard | | |-- demo1 ...

  5. java资源文件路径_Java 中获取资源(文件)的路径问题总结

    Java 中获取资源(文件)的路径问题总结 首先,Java 中获取资源大体上可分为两种方式,基于 文件系统的 和 基于classpath的. 1. 基于文件系统的相对简单. 比如 构造一个File f ...

  6. java读取文件中的字符串_java中怎样将文件的内容读取成字符串

    java中怎样将文件的内容读取成字符串 mip版  关注:68  答案:3  悬赏:10 解决时间 2021-01-18 02:36 已解决 2021-01-17 04:47 java中怎样将文件的内 ...

  7. java 读取文件的指定行_Java中实现读取文件指定行

    Java中实现读取文件指定行 读取文件指定行要用到类LineNumberReader,它是跟踪行号的缓冲字符输入流,其基类是BufferedReader..它有两个构造方法: public LineN ...

  8. java 通过路径下载文件_JAVA中实现根据文件路径下载文件

    import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.FileInputStream; ...

  9. java文本压缩算法_java 什么算法压缩文件最小

    展开全部 有三种方式实现java压缩: 1.jdk自带的包java.util.zip.ZipOutputStream,不足之处,文件(夹)名称32313133353236313431303231363 ...

最新文章

  1. Linux之文本处理
  2. 51CTO独家调查:谁是十年最具影响力厂商
  3. java多线程 门闩_Java线程与并发编程实践----同步器(倒计时门闩,同步屏障)...
  4. LaTeX入门最终集 :LaTeX格式的调整LaTeX中怎么打出数学公式LaTeX的各种上下标
  5. android sco通信,android – startBluetoothSco()在ICS上抛出安全异常(BROADCAST_STICKY)
  6. 系统设计:性能指标、伸缩性、扩展性、可用性、安全性
  7. 普平数据招聘:数据中心建设项目经理(工程部 )2人
  8. 全球及中国垃圾发电行业运营管理及十四五投资价值评估报告2021-2027年
  9. boost::assertion_failed_msg相关的测试程序
  10. C/S简易UI框架开发总结(2)
  11. C#委托及事件处理机制浅析
  12. 经历了px、em之后,用 rem 适配屏幕
  13. java9 javafx_无法在java 9下针对java 8构建javafx应用程序
  14. xcode_8正式版安装遇到的小问题
  15. DbEntry on Mono 测试
  16. 11.29晚 心情 晴 既然选择了Linux这条路就要坚持走下去
  17. centos安装mysql5.7.26_Centos安装mysql5.7.26
  18. 为什么写了value属性 jq赋值value值不显示_为什么 String 要设计成 final,又如何设计一个不可变类呢?...
  19. ERP的模块流程/组织架构和其他基础知识
  20. java 遍历文件夹下所有文件及目录

热门文章

  1. 【神经网络】(3) 卷积神经网络(CNN),案例:动物三分类,附python完整代码
  2. python数据转换函数_常用python数据类型转换函数总结
  3. 四、One-hot和损失函数的应用
  4. Learn OpenGL (三):着色器
  5. 计算机图形学——三角形网格
  6. 设置显示Git的修改历史History快捷键Alt+H,方便多人开发的时候快速查看谁修改了代码
  7. vue获取“分享给朋友”按钮点击状态及自定义分享内容接口
  8. py-redis中的批量删除key方法
  9. 第1课第4.4节_Android硬件访问服务编写HAL代码
  10. 7个华丽的基于Canvas的HTML5动画