【发布时间】:2021-01-12 11:18:24
【问题描述】:
我正在尝试使用递归来搜索文件夹中的所有文件及其子文件。但我想添加缩进以使输出更漂亮。我在函数的变量中添加了一个int变量来表示需要多少个缩进。这是成功的最终代码。
public void seekFile(File file, int tab) {
File [] files=file.listFiles();
assert files != null;
for (File file1 : files) {
if (file1.isFile()){
for(int i = 0; i< tab; i++)
System.out.print("|\t");
System.out.println(file1.getName());
}else {
for(int i = 0; i< tab; i++)
System.out.print("|\t");
System.out.println(file1.getName());
int index = tab+1;
seekFile(file1,index);
}
}
}
一开始我用seekFile(file1, ++tab)做递归,但是得到的缩进全错了,换掉tab后输出是准确的。这是为什么呢?
【问题讨论】:
-
你了解
++tab和tab + 1的区别吗? -
可能是地址问题?我会找出答案的。