java - 变量返回但未从方法中更新

标签 java methods

因此,我编写了一个简短的代码,将“盒子”(矩形)移动到右侧。这部分效果很好。然后,我想看看,这个盒子走了多少“步”,直到它停下来。因此, 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/

相关文章:

.net - 如何在 VB.NET 中为静态类编写方法扩展?

java - 为什么 Guava 中的 max 和 min 对于空数组会抛出 IllegalArgumentException?

Java从队列中检索所有元素,直到队列为空

java - JmDNS: 无法解析服务

Python:__cmp__ 和 __str__?

c# - 有没有办法将方法保存在变量中然后稍后调用它?如果我的方法返回不同的类型怎么办?

java - Java 中的 put() 方法在将数据放入 JsonObject 时出错。

java - 在无状态 EJB 计时器中正确使用实例变量

java - "fast-path"无竞争同步是什么意思?

objective-c - objective-c 和C++中的函数调用