【发布时间】: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);
}
【问题讨论】: