请解释这段代码

时间:2014-12-09 14:36:53

标签: java

好的,这里是你可以看到的获取数组最大值的代码,但是我有一些问题需要理解它会返回什么,

public static double getMaximum(double[][] list) {

        double max = -100000000000.0;
        int idxmax  = 0;
        for(int i=0;i<list.length;i++) {
            if(list[i][1]>max) {
                max = list[i][1];
                idxmax=i;
            }
        }
        return list[idxmax][0];
}

3 个答案:

答案 0 :(得分:2)

假设您有一个列表:

id    value
1     456
2     078
3     347
4     484
5     9520
6     456

它将返回id 5,因为它的相应值是列表中最大的。

答案 1 :(得分:2)

给定一个数组数组,其中所有行数组至少有两列,它返回第二列最大的行的第一列的值。

如果数组中的任何行少于两列,则会抛出ArrayIndexOutOfBoundsException

此外,如果所有行的数字都小于-1e12,您将获得第一行的第一列。

如果数组为空,那么你将获得ArrayIndexOutOfBoundsException

答案 2 :(得分:0)

它对所有list[i][1]元素执行测试以找到最大值的索引(存储在idxmax中)。

然后返回list[idxmax][0]

因此它会返回与列表(list[idxmax][0])中的最大值相关联的元素list[i][1]