zoukankan      html  css  js  c++  java
  • 2019-06-02 Java学习日记 day23 递归练习

    递归练习

    练习一

    import java.io.File;
    import java.util.Scanner;
    
    public class test1 {
    
        public static void main(String[] args) {
            //File dir=getDir();
            //System.out.println(getFileLength(dir));
            File dir =new File("D:\java\2018");
            System.out.println(dir.length());
    
        }
        
        public static File getDir(){
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入一个文件夹路径");
            //定义一个无线循环
            while(true){
                String line =sc.nextLine();
                File dir =new File(line);
                
                //对File对象判断
                if(!dir.exists()){
                    System.out.println("你录入的文件夹路径不存在,请输入一个文件夹路径:");
                }else if (dir.isFile()) {
                    System.out.println("你录入的文件路径,请输入一个文件夹路径:");
                }else {
                    //将文加下路径对象返回
                    return dir;
                }
            }
        }
        public static long getFileLength(File dir) {    
            //1,定义一个求和变量
            long len = 0;
            //2,获取该文件夹下所有的文件和文件夹listFiles();
            File[] subFiles = dir.listFiles();            
            //3,遍历数组
            for (File subFile : subFiles) {
                //4,判断是文件就计算大小并累加
                if(subFile.isFile()) {
                    len = len + subFile.length();
                //5,判断是文件夹,递归调用
                }else {
                    len = len + getFileLength(subFile);
                }
            }
            return len;
        }
    }
  • 相关阅读:
    遇到的两个问题
    项目分析(map复习)
    while小问题
    二级指针
    映射文件实现进程通信
    struct {0}初始化
    用boost共享内存实现进程通信的例子
    mongo二维数组操作
    项目分析(channelid是如果产生的)
    string为什么可以写入共享内存
  • 原文地址:https://www.cnblogs.com/JungTan0113/p/10965453.html
Copyright © 2011-2022 走看看