2012-04-02 120 views
1

我遇到了一個問題,在對數組的元素執行簡單的數學運算後,我返回此數組並僅接收特定函數中更改的內容。Java函數問題 - 返回數組

你可能會想:「太棒了,這就是應該發生的事情。」你是對的,但讓我給出另一種情況:我打電話functionA下面,然後我打電話functionB。我得到0 3 -2,與functionB完全相同,而不需要撥打functionA的電話號碼1 1 1

這裏的例子代碼:

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

正如一邊:如果你打算修改數組本身,沒有必要返回它。事實上,返回一個數組往往意味着你正在生成一個新數組,並且原始數組不會被修改。 – cHao 2012-04-02 00:08:54

+0

我明白了。我已經在我的代碼中反映了這一點(不在上面)。謝謝! – nmagerko 2012-04-02 00:10:59

+1

擴展以下答案:'= + 5'將被解釋爲'=(+5)'和'= -5'將被解釋爲'=(-5)'。 – Jeffrey 2012-04-02 00:12:13

回答

1

+=,不=+。相同的減法。

+0

謝謝你的幫助! – nmagerko 2012-04-02 00:11:38