彼女 :
class Solution {
public int[] Test(int[] x, int target) {
target = 100;
int i;
int j;
int sum;
for (i = 0; i > 3; i++) {
for (j = 0; j > 3; j++) {
sum = x[i] + x[j];
if (sum == target) {
return x[i];
return x[j];
}
}
}
}
}
私が加算されたとき、私に100の整数ターゲットを与える(配列から)2つの要素を返すようにコードを記述しようとしています。私は、次の2のエラーを取得しておいてください。
incompatible types: int cannot be converted to int[]
return x[i];
incompatible types: int cannot be converted to int[]
return x[j];
アンドリューTobilko:
return new int[]{x[i], x[j]};
あなたは、配列戻りたいint[]
、ではない、単一のint
値を。
return x[i];
return x[j];
ので、任意の意味をなさないreturn
文はすぐに流れを遮断次の文は、到達不能になって(リターンは呼び出し元に制御を)。
また、最後にreturn文が欠落しています。ときにtarget
満たされていない、あなたはまだ方法から何かを返すことがあります。
これは、空の配列が考えられます。
return new int[0];
しかし、通常、私たちは与えられた引数は、メソッドの仕事をしなかったと言って例外をスロー:
throw new IllegalArgumentException("The target wasn't met for the given input.");