[英]How to get Sum in a recursive method in Java
I am trying to get a total of n in the following recursive method.我试图在以下递归方法中获得总共n 。 But the problem is it prints n in each recursion call.但问题是它在每次递归调用中打印n 。
public void recur2(Folder folder) {
int n = 0;
if (folder.getSubfolders() != null) {
n += folder.getSubfolders().size();
Set<Folder> folders = folder.getSubfolders();
for(Folder fldr: folders) {
recur2(fldr);
}
}
System.out.println(n);
}
The output is something like this:输出是这样的:
0 0 0 3 0 1 0 0 0 0 4 0 0 0 0 4 4 1
What I'm looking for is the total of the above numbers which is 17.我正在寻找的是上述数字的总和,即17。
So, what would be the solution to this issue?那么,这个问题的解决方案是什么?
I looked at the same topics here and it looks like there isn't any useful answer to this problem.我在这里查看了相同的主题,看起来这个问题没有任何有用的答案。 Please help me with the complete method.请帮我提供完整的方法。
public long getTotalSubfolders(Folder folder) {
if(folder == null)
return 0;
if(folder.getSubfolders() == null)
return 0;
long n = folder.getSubfolders().size();
for(Folder subFolder : folder.getSubfolders())
n += getSubfolders(subFolder);
return n;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.