2016-03-15 4 views
1

Итак, у меня возникли проблемы с функцией, которая вернет максимальное значение, сохраненное в 2D-массиве. Я знаю, что нужно для цикла для перебора 2d массив, но я так потерялПолучение максимального значения 2D-массива

class maximum { 
    public static void main(String[] args) { 
     int[][] table = { {3, 9, 6, 12}, 
         {23, -25, 54}, 
         {0, -12, 27, 8, 16} }; 
     System.out.println(getMax(table)); //prints 54 
    } 
    static int getMax(int[][] A){ 


    } 
} 

ответ

0

Вы знаете, что вам нужно, так это сделать.

static int getMax(int[][] A) { 
    int max = 0; 
    boolean maxValid = false; 
    if (A != null) { 
     for (int i = 0; i < A.length; i++) { 
      if (A[i] != null) { 
       for (int j = 0; j < A[i].length; j++) { 
        if (!maxValid || max < A[i][j]) { 
         max = A[i][j]; 
         maxValid = true; 
        } 
       } 
      } 
     } 
    } 
    if (!maxValid) throw new IllegalArgumentException("no elements in the array"); 
    return max; 
} 
Смежные вопросы