Java函数问题 - 返回数组

时间:2012-04-02 00:06:47

标签: java arrays

我遇到一个问题,在对数组元素执行简单的数学运算后,我返回此数组并仅接收特定函数中更改的内容。

你可能会想,“太棒了。那就是应该发生的事情。”你是对的,但是让我给出另一种情况:我在下方拨打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

我不明白我哪里出错了。我是否错误地使用了= +或= - 运算符,或者我是否错误地返回了数组,或者是否存在我完全缺失的内容?

感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

使用+=代替=+-=代替=-

看看这个问题:What is the difference between a += b and a =+ b , also a++ and ++a?

答案 1 :(得分:1)

它是+=,而不是=+。减法也一样。