0
if(System.currentTimeMillis() >  _thrust_lag + _thrust_delay);
    {
        this._thrust3Position = new_Position;

        Log.w("Thrust Lag + Delay", Long.toString(_thrust_lag + _thrust_delay));
        Log.w("Current Time", Long.toString(System.currentTimeMillis()));

        _thrust_lag = System.currentTimeMillis();
    }

输出为:推力滞后 + 延迟:1333710037096 当前时间:1333710027174

_thrust_delay = 10000 顺便说一句。

这应该返回 false 但不是,它一直在输出这个语句。有人有什么想法吗?还是我在这里遗漏了一些基本的东西?

此语句中的所有变量都是长整数,而且 _thrust_lag 仅在构造函数和此函数中设置一次,所以问题就在这里。

4

1 回答 1

4

;语句末尾的尾随if:删除它。

尾随;分号导致没有执行语句的分支:

if (...);

等同于:

if (...)
{
}

这意味着在发布的代码中,{}总是执行其中的语句。

于 2012-04-06T11:13:06.207 回答