Java在二维数组中寻找最小值

时间:2013-11-19 19:35:33

标签: java indexoutofboundsexception minimum

我收到了一行超出界限的错误:int currentInt = matrix[i][j];

public class Matrix
{
    private int[][] matrix;

    /**
     * Constructor for objects of class Matrix
     * @param array a 2-d array
     */
    public Matrix(int[][] array)
    {
       matrix = array;
    }

    public int min()
    {
       int min = matrix[0][0];
        for(int i = 0; i < matrix.length; i++)
        {
            for(int j = 0; i < matrix[0].length; i++)
            {
                int currentInt = matrix[i][j];
                if(min > currentInt)
                {
                   min = currentInt;
                }


            }
        }
        return min;
    }

}

3 个答案:

答案 0 :(得分:1)

for(int j = 0; i < matrix[0].length; i++)

应该是

for(int j = 0; j < matrix[i].length; j++)

或者如果数组是正方形:

for(int j = 0; j < matrix[0].length; j++)

答案 1 :(得分:1)

您忘记更改第二个for循环中的j

for(int j = 0; i < matrix[0].length; i++)

应该是

for(int j = 0; j < matrix[0].length; j++)

答案 2 :(得分:1)

更改

for(int j = 0; i < matrix[0].length; i++)

for(int j = 0; j < matrix[i].length; j++)