你能重置静态变量吗?

时间:2016-02-17 01:32:29

标签: java methods static

我一直在尝试重置静态变量,该变量将在运行某些方法时保持计数。我想在返回其中一个方法的输出后能够重置计数器。 getEfficency会很好地提取值,但在运行getEfficency之后,我希望将静态变量重置为0,以便我的程序可以运行其他计算方法。

public class Sequence {

    private static  int efficencyCount;

    public static int computeIterative(int n) {
        efficencyCount++;
    }

    public static int computeRecursive() {
        efficencyCount++;

    }

    public static int getEfficiency() {

        return efficencyCount;
    }
}

4 个答案:

答案 0 :(得分:2)

只需使用临时变量并将hour static设置为0。 此外,您应该保护您的静态变量,以避免滥用您班级的变量。

public static int getEfficiency (){
   int temp=efficiencyCount;
   efficiencyCount=0;
   return temp; 
}

答案 1 :(得分:1)

您可以创建局部变量并临时存储count值。重置efficencyCount的值并返回本地临时计数变量的值。

public static int getEfficiency() {
    int count = efficencyCount;
    efficencyCount = 0;
    return count;
}

答案 2 :(得分:1)

你可以这样做:

创建method,并重置此方法中的efficencyCount变量

public static void resetCounter() {
    efficencyCount = 0;
}

答案 3 :(得分:1)

创建一个包含efficencyCount的临时变量,然后将efficencyCount重置为零。

public static int getEfficiency(){
   int temp = efficencyCount;
   efficencyCount = 0;
   return temp;
}