为什么我必须将[0] [0]与2D数组一起用于int min而不仅仅是= 0

时间:2015-09-14 23:10:14

标签: java

所以我的问题是,在我的代码中,它说int min = a2 [0] [0]为什么它必须像那样而不是使用int min = 0;当我有它打印出0,但[0] [0]它打印出正确答案..所以我只是好奇为什么需要使用?谢谢! :)

 public static int min2DArray(int[][] a2) {
        int min = a2[0][0];
        for (int row = 0; row < a2.length; row++) {
            for (int column = 0; column < a2[row].length; column++){
                if (a2[row][column] < 1){
                    min = a2[row][column];
                }
            }
        }
        return min;
    }

2 个答案:

答案 0 :(得分:1)

您的代码有错误:

if (a2[row][column] < 1){

应该是:

if (a2[row][column] < min){

如果您的数据包含3, 7, 9并且您将min初始化为0,那么这些数据都不会低于初始值,结果会得到0

可以min初始化为Integer.MAX_VALUE,您可以,或者您可以将其初始化为第一个值,即

int min = a2[/*row=*/0][/*column=*/0];

答案 1 :(得分:0)

如果您的2D数组有任何负值,int min = 0将不准确。实际上,如果任何大于0的值都是您的实际最小值,那么您的代码也不会起作用。你只有一个幸运案例,你的分数是0。