Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.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_Repeat - Fatal编程技术网

Java 如何多次调用方法来更改变量?

Java 如何多次调用方法来更改变量?,java,methods,repeat,Java,Methods,Repeat,我试图调用speed变量上的accelerate方法,该变量在每次调用时为speed变量添加5。我可以在构造函数中执行一次: public int getAccelerate() { accelerate = (speed + 5); return accelerate; } 并使用 System.out.println(car1.getAccelerate()); 但这只工作一次,如果速度变量为100,则显示105 我的问题是:每次调用accelerate方法以反映新的速度

我试图调用
speed
变量上的
accelerate
方法,该变量在每次调用时为
speed
变量添加5。我可以在构造函数中执行一次:

public int getAccelerate() {
    accelerate = (speed + 5);
    return accelerate;
}
并使用

System.out.println(car1.getAccelerate());
但这只工作一次,如果速度变量为100,则显示105

我的问题是:每次调用
accelerate
方法以反映新的速度值时,如何更新速度变量

调用它5次可以得到输出

105
105
105
105
105

我试图得到输出的地方

105
110
115
120
125


通过调用相同的方法5次。

想想发生了什么。您的方法采用
speed
,向其添加
5
,并将该值放入变量
accelerate
。然后返回
加速
。因此,每次您都会根据
速度
更改
加速
,但您永远不会更改
速度
!因此,例如,如果
speed
100
,第一次调用将返回
100+5
,第二次调用将返回
100+5
,依此类推

如果要使其正常工作,请每次更改“加速”:

public int getAccelerate()
{
    accelerate = (accelerate + 5);
    return accelerate;
}
public int getAccelerate()
{
    speed = (speed + 5);
    return speed;
}
或者您可以每次更改速度:

public int getAccelerate()
{
    accelerate = (accelerate + 5);
    return accelerate;
}
public int getAccelerate()
{
    speed = (speed + 5);
    return speed;
}

想想发生了什么。您的方法采用
speed
,向其添加
5
,并将该值放入变量
accelerate
。然后返回
加速
。因此,每次您都会根据
速度
更改
加速
,但您永远不会更改
速度
!因此,例如,如果
speed
100
,第一次调用将返回
100+5
,第二次调用将返回
100+5
,依此类推

如果要使其正常工作,请每次更改“加速”:

public int getAccelerate()
{
    accelerate = (accelerate + 5);
    return accelerate;
}
public int getAccelerate()
{
    speed = (speed + 5);
    return speed;
}
或者您可以每次更改速度:

public int getAccelerate()
{
    accelerate = (accelerate + 5);
    return accelerate;
}
public int getAccelerate()
{
    speed = (speed + 5);
    return speed;
}

什么是
速度
加速
?请注意,您只是将一个新值重新分配给
加速
,而
速度
没有改变(因此您总是得到相同的返回值)。什么是
速度
加速
?请注意,您只是将一个新值重新分配给
accelerate
,而
speed
没有更改(因此您总是得到相同的返回值)。请使用
x+=5
而不是
x=(x+5)
@ShaunTighe。没问题,很乐意帮助!请记住向上投票并接受。请使用
x+=5
而不是
x=(x+5)
@ShaunTighe没问题,乐意帮助!请记得投票并接受。