问题:编写一个名为largest的方法,该方法将数组nums3作为参数。它在数组中找到最大的数字,并返回其索引作为方法的值。

所以我知道,如果我返回最大,那就是价值,但是我怎样才能返回索引呢?编译时出现错误:找不到符号i。

public static int largest(int[] nums3)
{
    int largest = nums3[0];
    for(int i=0; i < nums3.length; i++)
    {
        if(nums3[i] > largest)
        {
            largest = nums3[i];
        }

        }
    return i;
}

最佳答案

一种方法是保存最大索引,而不是值。如果数组为空,还需要返回一些值:

public static int largest(int[] nums3)
{
    if (nums3.length == 0) { return -1; }
    int largestIndex = 0;
    for(int i=0; i < nums3.length; i++)
    {
        if(nums3[i] > nums3[largestIndex])
        {
            largestIndex = i;
        }

    }
    return largestIndex;
}

10-04 12:22