项目代码统计程序,如何才能让递归结束后再实行打印?有详细! 本帖最后由 sxhs1986 于 2011-04-27 05:26:13 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 最简单的方法,将 System.out.println("本项目代码有:" + wordCont + "行"); System.out.println("本项目注释有:" + starCont + "行"); System.out.println("本项目空白有:" + whiteCont + "行");这三行语句放到main方法中,checkFile方法后,而不是checkFile方法中。如果一定想放在checkFile方法中,还有两种做法1 建另一个函数,负责调用checkFile即三行println语句or2 在checkFile方法中设局部变量记录递归深度,深度为0的时候才执行三行println语句。 是的,就是包,比如:F:\javase\cal\src\org\crazyit\cal 最后的一个文件夹才放着.java文件!F:\javase\cal\下面放着2个文件夹:一个是bin一个是src main跟建立另外函数调用都,测试可行,第三个办法在在checkFile方法中设局部变量记录递归深度,深度为0的时候才执行三行println语句。这个不会,能为我解答下这个吗?感觉着个很有趣! 就是说,你开始的时候用一个变量作为深度(例如:dep),当你递归调用的时候如果是在第一层里面的文件夹就把dep=1,如果一个文件夹,递归进去时,dep的值改为2,如此类推如果在第二层里面出来时,将dep的值改为1这样,最后当第一层的文件都读完,将dep=0(相当于翻回上一层) 代码示意如下:public class CodeTools { private int depth = 0;... public void checkFile(String path) {//遍历文件夹(用了递归) depth++; //进checkFile方法首先增深度 ... checkFile(subpath); //递归调用 depth--; //出checkFile方法前减深度 if (depth==0){ //深度为0即为最外层递归调用 打印三个统计结果 } }...} 关于接口问题 java中的字节型数据存储的是什么数据 "文"的 GB2312 编码是 CEC4 还是 4636? 接口Pattern.Status是做什么的? 各位大牛,如何在JAVA里面实现倒排表 JAVA程序获取bat里参数的问题 环境变量的配置!!新手求教!!! 字符串转换成int型的实现?? 高手们!java怎么和XBase数据库进行连接 电子图书下载!!! 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即为最外层递归调用
打印三个统计结果
}
}
...
}