一个新手问题。我有以下一段Java代码:
import acm.program.*;
import java.awt.Color;
import acm.graphics.*;
public class ufo extends GraphicsProgram{
private GRect ufo_ship;
boolean hasNotLost;
public void run (){
setup(); //places ufo_ship to initial position
hasNotLost = ufo_ship.getY() < 200; //checks if ufo_ship is
//above the bottom edge of window
while(hasNotLost){
move_ufo(); //moves ufo_ship
}
showMessage(); //shows that program ended
}
//remaining methods are here
}
当我运行此代码时,矩形ufoship到达窗口底部时不会停止。我猜想是因为它只检查一次飞碟的位置,而不是每次矩形移动时才检查。
有没有不用简单地写
while(ufo_ship.getY() < 200)
就可以纠正它的方法吗? 最佳答案
hasNotLost = ufo_ship.getY() < 200;
boolean hasNotLost(GRect ufo_ship){ return ufo_ship.getY() < 200; }
while(hasNotLost(ufo_ship))
{
...
}
ufo可以拥有自己的类和该方法,因此您只需调用while(ufoShip.hasNotLost())
关于java - 在while语句中使用 boolean 变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1859299/