黑马程序员技术交流社区
标题:
关于“递归”的问题
[打印本页]
作者:
尹震
时间:
2012-3-20 18:33
标题:
关于“递归”的问题
本帖最后由 尹震 于 2012-3-20 20:56 编辑
private static void tree(File treeFile, int level) {
String space = "";
for(int i =0 ;i<level;i++){
space + =" ";
}
File[] files = treeFile.listFiles();
for (int i = 0; i < files.length; i++) {
System.out.println(space + files
.getName());
if (files
.isDirectory()) {
tree(files
, level + 1);// 关键处
}
}
}
为什么“关键处”的 level 改成 ++level 不会跟随当前方法结束而 -1,反之level+1 就可以呢?
作者:
♂诸侯♂
时间:
2012-3-20 19:12
不清楚求解
作者:
lucky_xingxing
时间:
2012-3-20 19:42
首先你先说下你的level这个参数是起什么作用的?
作者:
尹震
时间:
2012-3-20 20:57
lucky_xingxing 发表于 2012-3-20 19:42
首先你先说下你的level这个参数是起什么作用的?
level 只是代表当前的级别,代码已补全。
作者:
周建
时间:
2012-3-20 21:48
同学你的代码有错误,Files是数组怎么能调用文件的方法呢,我帮你改了一下,level+1;++level:都能实现功能
public static void main(String[] args) {
// TODO Auto-generated method stub
tree(new File("f:\\lianxi"),0);
}
private static void tree(File treeFile, int level) {
String space = "";
for(int i =0 ;i<level;i++){
space+=" ";
}
File[] files = treeFile.listFiles();
for (int i = 0; i < files.length; i++) {
System.out.println(space + files[i].getName());
if (files[i].isDirectory()) {
tree(files[i], ++level );// 关键处
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2