确定,我有这种方法来减少我的类计时器中的属性int sec(seconds)

private void decreaseSec(){

       if(sec <59  && sec > 0 ){
       sec--;}
       else if(sec == 0 && min == 0){
           sec = 0;
       }
       else if(sec == 0 && min > 0){
          sec = 59;
          decreaseMin();
       }

   }


根据我的逻辑,正确地减少秒数是正确的。
但是当它达到0时,开始计数为负数(-1,-2,-3 ...)
我不明白!也许有人可以帮助我,或者提供一种更好的方法。
谢谢!

最佳答案

尝试这个。您可能会跳过零进入负面领域,而永远不会抓住它。

private void decreaseSec(){

    if(sec > 0){
        sec--;
    }else if(sec <= 0 && min <= 0){
        sec = 0;
    }else if(sec <= 0 && min > 0){
       sec = 59;
       decreaseMin();
    }

}

关于java - 如何正确实现计时器?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18952446/

10-12 03:09