定时计数器 - 递减整数(JAVA)

时间:2016-03-10 18:01:31

标签: java timer decrement

所以我的问题是我想在每次“运行”之后减少Counter整数。如果我把Counter--放在代码中(参见注释),那么我得到一个错误,说“在封闭范围内定义的局部变量计数器必须是最终的或有效的最终”。

我现在怎么能改变我的代码以使“Counter”,int,在每次打印后减少?

 public void RunCounter(int TimeCount)  {  
    int Counter = TimeCount 
    Runnable Count = new Runnable() {  
            public void run() {
                System.out.println(Counter); 
                //Counter--;
                }
        };
    ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
    ScheduledFuture<?> countTimer = executor.scheduleAtFixedRate(Count, 1, 1, SECONDS);  
    executor.schedule(new Runnable()  
        {  
            public void run() {
                countTimer.cancel(true);
            }  
        }, TimeCount, SECONDS);  
}

1 个答案:

答案 0 :(得分:1)

不要将counter声明为final,因为如果counter是final的,以后不能更改,请将class counter定义为类中的全局变量。