2013-11-19 2 views
0

я получаю ошибку выхода за границы для линии: int currentInt = matrix[i][j];Java Поиск Мин среди 2-D массив

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; 
    } 

} 

ответ

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

Вы забыли изменить j во 2-й для цикла

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

должен быть

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

1

Изменить

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

в

for(int j = 0; j < matrix[i].length; j++) 
Смежные вопросы