【问题标题】:Timed counter - decrementing of integer(JAVA)定时计数器 - 整数递减(JAVA)
【发布时间】:2016-03-10 18:01:31
【问题描述】:

所以我的问题是我想在每次“运行”后减少计数器整数。如果我将 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);  
}

【问题讨论】:

    标签: java timer decrement


    【解决方案1】:

    不要将counter 声明为final,因为如果counter 是final,以后无法更改,请务必在类中将int Counter 定义为全局变量..

    【讨论】:

    • 谢谢,我以为我没有成功测试过。现在它工作正常。 //伊萨克
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-27
    • 2011-05-24
    • 2014-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多