새내기 질문입니다. 이 코드를 실행하면 윈도우의 하단에 도달하면, 직사각형 ufoship이 멈추지 않습니다while 문에서 부울 변수 사용
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)
?
+1 질문자가 표현식을 변수에 할당 할 수도 있다는 것을 직관적으로 설명하기 위해 + 정확히 내가하고 있다고 생각하는 것입니다. –
조건을 함수에 인수 분해하면 중복을 제거하고 조건과 정확히 일치하는 변수와 동일한 목적을 수행합니다. –
답변 해 주셔서 감사합니다. 새 메서드 만들기 hasNotLost는 프로그램을 종료하는 조건을 추가하고 싶기 때문에 최상의 솔루션입니다. –