我遇到一个问题,在对数组元素执行简单的数学运算后,我返回此数组并仅接收特定函数中更改的内容。
你可能会想,“太棒了。那就是应该发生的事情。”你是对的,但是让我给出另一种情况:我在下方拨打functionA
,然后拨打functionB
。我没有获得1 1 1
作为输出,而是0 3 -2
,与functionB
完全相同,而没有调用functionA
。
以下是示例代码:
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
我不明白我哪里出错了。我是否错误地使用了= +或= - 运算符,或者我是否错误地返回了数组,或者是否存在我完全缺失的内容?
感谢任何帮助。
答案 0 :(得分:3)
使用+=
代替=+
,-=
代替=-
。
看看这个问题:What is the difference between a += b and a =+ b , also a++ and ++a?
答案 1 :(得分:1)
它是+=
,而不是=+
。减法也一样。