配列の要素に対して簡単な数学演算を実行した後、この配列を返し、特定の関数で変更されたものだけを受け取るという問題があります。Java関数の問題 - 配列を返す
あなたは、「うーん、それは起こりそうなことだ」と考えているかもしれません。あなたは正しいですが、別の状況を教えてください:私はfunctionA
に電話をしてから、functionB
に電話します。出力として1 1 1
を取得する代わりに、0 3 -2
を取得します。を呼び出さずにfunctionB
と全く同じです。私が間違っていたところ、私は理解していない
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
:
はここで例のコードです。 = +または= - 演算子を間違って使用していますか、配列を正しく返していませんか、まったく見つからないものがありますか?
何か助けていただければ幸いです。
と同様に、配列自体を変更する場合は、それを返す必要はありません。実際、配列を返すことは、新しい配列を生成していることを意味し、元の配列は変更されません。 – cHao
私は参照してください。私はこれを私のコードに反映しました(上記ではありません)。ありがとうございました! – nmagerko
以下の答えで展開してください: '= + 5'は' =(+5) 'と解釈され、' = -5'は '=(-5)'と解釈されます。 – Jeffrey