我有这个while循环,我不知道为什么它是无限的。有人能指出我正确的方向吗?我不确定是否将循环或条件堆放在错误的位置,并且看了太久了!
public static void travel(Wizard wizard, boolean isMagic)
{
int cellX = wizard.getCellX();
if(cellX == WizardController.LAST_CELL)
{
while(cellX != 0)
{
if(isMagic)
{
wizard.left();
}
else
{
wizard.left();
WizardController.delay(100);
}
}
}
else
{
while(cellX != WizardController.LAST_CELL)
{
if(isMagic)
{
wizard.right();
}
else
{
wizard.right();
WizardController.delay(100);
}
}
}
}
谢谢
您不更新cellX
循环内的while
值。
while(cellX != 0) {
if(isMagic) {
wizard.left();
}
else {
wizard.left();
Wiza`enter code here`rdController.delay(100);
}
}
您必须在while循环内更新像这样的cellX
的cellX = wizard.getCellX();
值。