Javaの互換性のない型:intはint型に変換することはできません[]

彼女 :
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.");

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=14173&siteId=1