Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 返回的变量未从方法更新_Java_Methods - Fatal编程技术网

Java 返回的变量未从方法更新

Java 返回的变量未从方法更新,java,methods,Java,Methods,因此,我编写了一个简短的代码,将“长方体”(长方形)向右移动。这部分很好用。然后,我想看看这个盒子能走多少步直到它停下来。因此,println应该打印控制台的大小和步骤数。但它打印的是“零” import acm.program.*; import acm.graphics.*; public class animation extends GraphicsProgram{ public void run(){ int x=0; GRect box = new GRect

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

在方法内部返回
x
,但从调用方放弃它。将其重新分配给调用者的
x
变量

x = moveBox(box, x);
我会说-我正在从这个方法返回一个值

但是调用方应该接收返回的值

因此,为了接收返回值,我们应该将返回值分配给某个变量

x = moveBox(box, x);
现在,=左侧的x将返回值

如果我们只写
moveBox(box,x)那么像这样吗
返回值,但没有人收到它

我会说-我正在从这个方法返回一个值

但是调用方应该接收返回的值

因此,为了接收返回值,我们应该将返回值分配给某个变量

x = moveBox(box, x);
现在,=左侧的x将返回值

如果我们只写
moveBox(box,x)那么像这样吗

返回值,但没有人收到它。

您正在调用
moveBox(box,x)
返回一个值,但没有任何内容可以捕获从方法
moveBox
抛出的值

int moves = moveBox(box, x);
System.out.println("Movements : "+moves);


您正在调用
moveBox(box,x)
返回一个值,但没有任何内容可以捕获从方法
moveBox
抛出的值

int moves = moveBox(box, x);
System.out.println("Movements : "+moves);


也许你应该读smth关于。也许你应该读smth关于。谢谢!事实上,它现在显示了19个步骤=)因此,“return”并不能完成所有的工作。我还必须修复返回的变量,对吗?谢谢again@user3349993
run
中的
x
moveBox
中的
x
是完全不相关的(在这个意义上,更改一个不会影响另一个)。我知道。我想我把run()中的变量重命名为“steps”,但我显然忘了这么做。我在问aobut作业,比如“步骤=移动框(框,x)”。但无论如何。Thanks@user哦,返回值基本上充当解决方法调用异常的值。如果您没有将其分配给任何对象,您只需丢弃它,它就会从堆栈中弹出。谢谢!事实上,它现在显示了19个步骤=)因此,“return”并不能完成所有的工作。我还必须修复返回的变量,对吗?谢谢again@user3349993
run
中的
x
moveBox
中的
x
是完全不相关的(在这个意义上,更改一个不会影响另一个)。我知道。我想我把run()中的变量重命名为“steps”,但我显然忘了这么做。我在问aobut作业,比如“步骤=移动框(框,x)”。但无论如何。Thanks@user哦,返回值基本上充当解决方法调用异常的值。如果你不把它分配给任何东西,你只需丢弃它,它就会从堆栈中弹出。是的,我找到了。这就是我对索蒂里奥斯·德里马诺利斯的要求。谢谢你的回答!是的,我知道了。这就是我对索蒂里奥斯·德里马诺利斯的要求。谢谢你的回答!是的,我是从以前的答案中得到的。无论如何谢谢你!是的,我是从以前的答案中得到的。无论如何谢谢你!