2016-05-06 4 views
0

1-プログラミングのときにはうんざりですが、もしあなたが助けてくれるなら、このメソッドではmainメソッドから受け取り、vectorの最大値を返す必要があります。 mainメソッドに戻り、max値のインデックスが捕捉されたので、どうすればいいのですか?インデックスのベクトルを返す

public static int maxOfaVector (int[] vector){ 
    int max = vector[0]; 
    int school; 
     for(int i=0; i<vector.length; i++){ 
     if(vetor[i] > vector[0]){ 
     max = vector[i]; 
     } 
    } 
     return max; 
    } 

答えて

2

いいえ、メソッドは値を1つだけ返すことができます。幸いにも、ここで必要なのは、すでに書き込まれているように、メソッドが最大値のインデックスを返すようにするだけで済むからです。いったんこれを取得すると、呼び出しコードは配列から最大値を簡単に取得できます。しかし

// in the main method 
// assuming an int array called myArray 
int maxIndex = maxOfaVector(myArray); 
int maxValue = myArray[maxIndex]; 

問題:

  • あなたのコードでは、タイプミスを持っているが、if(vetor[i]if (vector[i]
  • とロジックエラーでなければなりません。同じifブールテストでは、if (vector[i] > vector[max])ではないif (vector[i] > vector[0])
  • また、配列の長さが最初に0より大きいかどうかをテストする必要があります。
+0

int値のみを持つ場合は、すべてのintを昇順にソートする 'Arrays.sort(vector)'メソッドを使用できます。したがって、 'maxValue'は' vector [vector.length-1] 'の後になります –

関連する問題