Java函数问题-返回数组
我遇到了一个问题,在对数组的元素执行简单的数学运算后,我返回这个数组,只接收在特定函数中更改的内容 你可能在想,太好了。这就是应该发生的事情。您是对的,但让我给出另一种情况:我调用下面的function,然后调用functionB。我没有得到1作为输出,而是得到03-2,与functionB完全相同,没有调用functionA 下面是示例代码:Java函数问题-返回数组,java,arrays,Java,Arrays,我遇到了一个问题,在对数组的元素执行简单的数学运算后,我返回这个数组,只接收在特定函数中更改的内容 你可能在想,太好了。这就是应该发生的事情。您是对的,但让我给出另一种情况:我调用下面的function,然后调用functionB。我没有得到1作为输出,而是得到03-2,与functionB完全相同,没有调用functionA 下面是示例代码: public static int[] position = new int[3]; //This array is filled
public static int[] position = new int[3]; //This array is filled
//with [0,0,0] using a for-loop
public static int[] functionA(int[] position){
position[0] =+ 1; //=+ operator use
position[1] =- 2; //=- operator use
position[2] =+ 3;
return position;
}
public static int[] functionB(int[] position){
position[0] =+ 0;
position[1] =+ 3;
position[2] =- 2;
return position;
}
functionA(position);
functionB(position);
System.out.println(myPosition[0]); //0
System.out.println(myPosition[1]); //1
System.out.println(myPosition[2]); //-2
我不明白我哪里出错了。我是否错误地使用了=+或=-运算符,或者返回的数组不正确,或者是否完全缺少某些内容
感谢您的帮助。使用+=代替=+,和-=代替=-
看看这个SO问题:使用+=代替=+,和-=代替=-
看看这个问题:它是+=,不是=+。减法也是一样。它是+=,不是+=。减法也是一样。顺便说一句:如果要修改数组本身,则无需返回它。事实上,返回一个数组往往意味着您正在生成一个新的数组,并且原始数组不会被修改。我明白了。我已经在上面没有提到的代码中反映了这一点。非常感谢。扩展下面的答案:=+5将被解释为=+5,=-5将被解释为=-5。@Jeffrey啊。那对我来说是一个可悲的错误。谢谢。顺便说一句:如果您打算修改数组本身,则无需返回它。事实上,返回一个数组往往意味着您正在生成一个新的数组,并且原始数组不会被修改。我明白了。我已经在上面没有提到的代码中反映了这一点。非常感谢。扩展下面的答案:=+5将被解释为=+5,=-5将被解释为=-5。@Jeffrey啊。那对我来说是一个可悲的错误。非常感谢。