首页 > 解决方案 > 查找数组中的最高索引值

问题描述

您好,我想找到索引最高的 n 数组。例如,我有两个数组: [1,2,3,0,-1] - 应该返回 2 - 具有最大值的索引 [] - 应该返回 -1,因为数组为空

我有方法:

   public int findMax(int[] array){
    int values =0;
    for(int i=0; i<array.length; i++){
    if(array == null)
    {return -1;}
    else(array{i}>values){
    return i;
    }
 }

我做错了什么?

标签: javaarrays

解决方案


您的程序有逻辑错误和编译错误。我猜你想写这样的代码,

public static void main(String[] args) throws IOException {
    System.out.println(findMax(new int[] { 1, 2, 3, 0, -1 }));
    System.out.println(findMax(new int[] {}));
}

public static int findMax(int[] array) {
    if (array == null || array.length == 0) {
        return -1;
    }

    int maxIndex = 0;
    int maxNum = array[0];
    for (int i = 1; i < array.length; i++) {
        if (array[i] > maxNum) {
            maxNum = array[i];
            maxIndex = i;
        }
    }

    return maxIndex;
}

如您所料,这给出了以下输出,

2
-1

推荐阅读