-2

配列をパラメーターとして取り、int配列の最大のエントリを返すメソッドを作成しました!

それは私がやったことですが、うまくいきませんでした!

唯一のエラーはlargest();

The method largest(int[]) in the type Moon is not applicable for the arguments ()

何が問題ですか?

public class Moon {
    public static void main(String[] args {     
        int array1[] = {5,10,15,20,25,30};

        int max = largest();
        System.out.println("the largest number is : " + max);

    }


    static int largest( int array1[] ){

        int maxValue = 0;

        for (int i = 0; i < array1.length; i++){
            if (array1[i] > array1[maxValue]) maxValue = i;       
        }
        return maxValue;
    } 
}
4

4 に答える 4

3

実際には、配列を引数として渡しているわけではありません。次のようにする必要があります。

int max = largest(array1);
于 2012-12-04T21:10:57.897 に答える
1
  1. 配列を次のように渡すことで、 maximum を呼び出します。

    int max = largest(array1);
    
  2. 次のように初期化maxしますInteger.MIN_VALUE

    int maxValue = Integer.MIN_VALUE;
    
  3. 比較を次のように変更します。

    if (array1[i] > maxValue )         
       maxValue = array1[i];         
    }
    
于 2012-12-04T21:10:32.013 に答える
1

2 つの問題があります。

  1. 呼び出しで配列を渡すのを忘れていlargest()ます。
  2. largest()最大値のインデックスを返しますが、呼び出し元はそれを値自体として扱います。
于 2012-12-04T21:11:15.720 に答える
0

書くint max = largest(array1);

そしてあなたの機能:

static int largest(int array1[]){

    int maxValue = Integer.MIN_VALUE;

    for (int el : array1)
        if (el > maxValue)
             maxValue = el;

    return maxValue;
} 
于 2012-12-04T21:09:15.113 に答える