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

Java函数问题-返回数组

Java函数问题-返回数组,java,arrays,Java,Arrays,我遇到了一个问题,在对数组的元素执行简单的数学运算后,我返回这个数组,只接收在特定函数中更改的内容 你可能在想,太好了。这就是应该发生的事情。您是对的,但让我给出另一种情况:我调用下面的function,然后调用functionB。我没有得到1作为输出,而是得到03-2,与functionB完全相同,没有调用functionA 下面是示例代码: public static int[] position = new int[3]; //This array is filled

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

你可能在想,太好了。这就是应该发生的事情。您是对的,但让我给出另一种情况:我调用下面的function,然后调用functionB。我没有得到1作为输出,而是得到03-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
我不明白我哪里出错了。我是否错误地使用了=+或=-运算符,或者返回的数组不正确,或者是否完全缺少某些内容

感谢您的帮助。

使用+=代替=+,和-=代替=-

看看这个SO问题:

使用+=代替=+,和-=代替=-


看看这个问题:

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

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

顺便说一句:如果要修改数组本身,则无需返回它。事实上,返回一个数组往往意味着您正在生成一个新的数组,并且原始数组不会被修改。我明白了。我已经在上面没有提到的代码中反映了这一点。非常感谢。扩展下面的答案:=+5将被解释为=+5,=-5将被解释为=-5。@Jeffrey啊。那对我来说是一个可悲的错误。谢谢。顺便说一句:如果您打算修改数组本身,则无需返回它。事实上,返回一个数组往往意味着您正在生成一个新的数组,并且原始数组不会被修改。我明白了。我已经在上面没有提到的代码中反映了这一点。非常感谢。扩展下面的答案:=+5将被解释为=+5,=-5将被解释为=-5。@Jeffrey啊。那对我来说是一个可悲的错误。非常感谢。