我想计算输入递归方法的频率。问题在于,对于每个递归调用,我都使用该类的不同实例。因此,我的计数器变量将始终设置回原始值,然后仅计数一次。因此,无论输入方法多久,我都得到相同的值。
一种解决方案是创建一个新的Class,该类中带有一个可正确计数的计数器变量。但是有更好的解决方案吗?看起来不太好。
static class SearchTree
{
private Node node;
private SearchTree left;
private SearchTree right;
private int count= 0;
这是我要使用count变量的方法。它总是显示1,因为我递归地将其与SearchTree的新实例一起使用
public SearchTree select(int i)
{
if(node.size != 0)
{
count++;
System.out.println("Count: " + count);
left.select(i);
}
private class Node
{
public int key;
public int size;
public Node(int x, int size)
{
key = x;
this.size= size;
}
}
}