Finding minimum and maximum in Java 2D array

前端 未结 4 1281
栀梦
栀梦 2020-12-21 13:02

I have been trying to figure this out for a while and need some help. I need to find the min/max values and print them out for a multidimensional array. Here are the two way

4条回答
  •  南方客
    南方客 (楼主)
    2020-12-21 13:46

    Ok, I've kinda fixed your code. Actually your mistake was that you have not been traversing all the cells of your multidimensional array.

    So, I've added additional loop into getMinValue/getMinValue methods and fixed array elements addressing.

    import java.util.*;
    
    class MinMax {
        public static void main(String[] args) {
            int[][] data = {
                    {3, 2, 5},
                    {1, 4, 4, 8, 13},
                    {9, 1, 0, 2},
                    {0, 2, 6, 3, -1, -8}
            };
            System.out.println(getMaxValue(data));
            System.out.println(getMinValue(data));
        }
    
    
        public static int getMaxValue(int[][] numbers) {
            int maxValue = numbers[0][0];
            for (int j = 0; j < numbers.length; j++) {
                for (int i = 0; i < numbers[j].length; i++) {
                    if (numbers[j][i] > maxValue) {
                        maxValue = numbers[j][i];
                    }
                }
            }
            return maxValue;
        }
    
        public static int getMinValue(int[][] numbers) {
            int minValue = numbers[0][0];
            for (int j = 0; j < numbers.length; j++) {
                for (int i = 0; i < numbers[j].length; i++) {
                    if (numbers[j][i] < minValue ) {
                        minValue = numbers[j][i];
                    }
                }
            }
            return minValue ;
        }
    }
    

提交回复
热议问题