【问题标题】:Java Finding Min amongst 2-D arrayJava在二维数组中寻找最小值
【发布时间】:2013-12-03 12:47:31
【问题描述】:

我收到以下行的越界错误: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;
    }

}

【问题讨论】:

    标签: java indexoutofboundsexception minimum


    【解决方案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++)
    

    【讨论】:

      【解决方案2】:

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

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

      应该是

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

      【讨论】:

        【解决方案3】:

        改变

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

        到

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

        【讨论】:

          猜你喜欢
          • 2018-07-05
          • 1970-01-01
          • 2015-04-06
          • 1970-01-01
          • 2015-02-01
          • 2017-03-16
          • 2019-03-31
          • 2018-09-14
          • 1970-01-01
          相关资源
          最近更新 更多