java-递归

新一
2021-12-22 / 0 评论 / 102 阅读 / 正在检测是否收录...

再比如说计算从1+2+3+4+5.......+100.

public class DiGui001 {

    //递归:自己调用自己,容易出现死循环
    //1+2+3+4+5..........100
    int s=0;//n=1
    public void sum(int n) {
        s=s+n;
        n++;
        if(n<=100) {//退出循环
            sum(n);//方法自己调用自己
        }
    }
    
    public static void main(String[] args) {
    
        DiGui001 d=new DiGui001();//创建对象
        d.sum(1);//赋值
        System.out.println(d.s);//打印s总数
        
    }

}

我们如何用递归找出D盘下所有的txt文件,并且求最大文件和最小文件?

package Z.LIO.DiGui;

import java.io.File;
//递归找出D盘下的txt文件
public class DiGui {

    long max=0;//大
    long min=0;//小
    File t=null;
    File t1=null;
    public void getDocPath(File f) {
        //循环遍历当前目录下的文件
        File []fs=f.listFiles();
     if(fs!=null) {
        for(File ff:fs) {
            //判断是目录还是文件,如果是文件,在判断是否是word文档
            if(ff.isFile()) {//文件
                String fname=ff.getName();//获取文件名称
                if(fname.endsWith(".txt")) {//.endsWith(".txt")//判断以什么结尾
                    //如果是word文档输出文件路径
                    long flen=ff.length();
                    if(flen>max) {//判断最大文件
                        max=flen;
                        t=ff;
                    }
                    System.out.println(ff.length()+":"+ff.getPath());
                    long flan=ff.length();
                    if(flan<=min) {//判断最小文件
                        max=flan;
                        t1=ff;
                    }
                }
            }else {//目录
                 getDocPath(ff);//如果是目录继续递归调用此方法
            }
        }
     }
    }
    public static void main(String[] args) {        
        DiGui g=new DiGui();
        File f=new File("D:/");
        g.getDocPath(f);
        System.out.println("最大文件是:"+g.t.getName()+"大小为:"+g.max);
        System.out.println("最小文件是:"+g.t1.getName()+"大小为:"+g.min);
        System.out.println("最大文件的路径是:"+g.t.getPath());
        System.out.println("最小文件的路径是:"+g.t1.getPath());
    
    }
}

kxh64j9k.png

本文共 383 个字数,平均阅读时长 ≈ 1分钟
0

打赏

:D 获取中...

更多精彩文章,按Ctrl+D收藏本站!

评论 (0)

取消