解决方案 »
- 如何删除数组中的数据
- 请问关于import java.class.*的问题.......
- 显示图片用什么控件比较好,怎么显示?
- Swing中如何让窗体全屏,总在最前面,没有边框和控制栏,并且不能切换出去,也不能最小化……
- 一段正则表达式,在perl下正常,在java下不行
- bot.jar包在什么地方可以下载到
- 使用JMF框架建立视频会议时产生的问题!!!很急,有精通的高手帮忙帮忙
- java怎么用BitSet实现移位?
- 利用javaCompiler.run如何同时编译一个文件夹中的所有java文件
- 求教 JAVA桌面程序打包问题
- MyEclipse8.1中注释显示的问题
- Graphics在应用程序中画图形的问题
System.out.println("本项目代码有:" + wordCont + "行");
System.out.println("本项目注释有:" + starCont + "行");
System.out.println("本项目空白有:" + whiteCont + "行");
这三行语句放到main方法中,checkFile方法后,而不是checkFile方法中。如果一定想放在checkFile方法中,还有两种做法
1 建另一个函数,负责调用checkFile即三行println语句
or
2 在checkFile方法中设局部变量记录递归深度,深度为0的时候才执行三行println语句。
第三个办法在在checkFile方法中设局部变量记录递归深度,深度为0的时候才执行三行println语句。
这个不会,能为我解答下这个吗?感觉着个很有趣!
就是说,你开始的时候用一个变量作为深度(例如:dep),当你递归调用的时候如果是在第一层里面的文件夹就把dep=1,如果一个文件夹,递归进去时,dep的值改为2,如此类推
如果在第二层里面出来时,将dep的值改为1这样,最后当第一层的文件都读完,将dep=0(相当于翻回上一层)
...
public void checkFile(String path) {//遍历文件夹(用了递归)
depth++; //进checkFile方法首先增深度
...
checkFile(subpath); //递归调用
depth--; //出checkFile方法前减深度
if (depth==0){ //深度为0即为最外层递归调用
打印三个统计结果
}
}
...
}