对于循环不工作

时间:2014-01-18 22:43:13

标签: java for-loop

我正在测试for循环,以便在屏幕上平滑移动对象。

int yPosLeft = 339;
int originalYPosLeft = yPosLeft;

for(yPosLeft < 30 + originalYPosLeft; yPosLeft++) {
// Changes the value in the statement
}

然而,循环以某种方式使对象的y位置永远进入负数百万,并且几乎需要强制退出。有什么建议吗?

更新:我对此很愚蠢。为#BrainFart #Fixed

道歉

3 个答案:

答案 0 :(得分:5)

你的条件是:

yPosLeft < 30 + yPosLeft

......这将永远是真的。值总是小于30加上相同的值。

因此,循环将永远持续,你的对象的y位置将永远移动! (也就是说,直到yPosLeft变得如此之大以至于溢出 - 但我严重怀疑这是所期望的行为。)

答案 1 :(得分:3)

每个号码总是低于自身+任何正数。所以条件总是被评估为真,因此你的循环会永远运行。

你需要重做你的循环。您可以阅读更多相关信息here

答案 2 :(得分:0)

也许你的意思是:

int yPosLeft = 339;

for(int i = yPosLeft; i > yPosLeft - 30; i--) {
// Changes the value in the statement
}

但我不是Oracle;) - 只是猜测