因此,我编写了一个简短的代码,将“盒子”(矩形)移动到右侧。这部分效果很好。然后,我想看看,这个盒子走了多少“步”,直到它停下来。因此, println 应该打印控制台的大小和步骤数。但它打印“零”。
import acm.program.*;
import acm.graphics.*;
public class animation extends GraphicsProgram{
public void run(){
int x=0;
GRect box = new GRect(50,50);
add(box, 10,10);
moveBox(box, x);
println(getWidth() + ", " + x);
}
public int moveBox(GObject box, int x){
while(true){
box.move(10,0);
pause(50);
x++;
if (box.getX()==getWidth()) break;
}
return x;
}
}
最佳答案
您在方法内返回x
,但从调用者处丢弃它。将其重新分配给调用者的 x
变量
x = moveBox(box, x);
关于java - 变量返回但未从方法中更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24598430/