2016-04-18 8 views
0
public class myMethod { 
     public int[] twoSum(int[] nums, int target) { 
     int length = nums.length; 
     for(int i=0;i<length;i++) 
     { 
      for(int j=i+1;j<length;j++) 
      { 
       if(nums[i]+nums[j]==target) 
        return new int[]{i,j}; 
      } 
     } 
    } 
} 

「エラー:missing return文」が表示されます。 Arrayが返されましたが、どこに問題がありますか? Array.newInstance()のようなものが必要ですか? ありがとうございます。新しいオブジェクトをjavaの戻り値として返します。

+0

を? – Savior

答えて

1

ifブロックの内容に決して達しない場合は、値を返しません。

あなたはこのようなdefault値を返すことができます: `nums`は、長さ0を持っている場合、あなたが何を返すか

public int[] twoSum(int[] nums, int target) { 
    ... 
    return null; 
} 
+0

ありがとうございました。ありがとう、ありがとうございます。メソッドには、少なくともすべてのケースの終了が必要です。 – wh279813

+0

@ wh279813 –

関連する問題