>source

아래 코드에서 수신하는 배열이 있으며 메서드를 사용해야합니다. sumRow 그러나 그것을하는 방법을 모르겠습니다. 대부분의 온라인 자습서는 나에게 도움이되지 않습니다. 쉬운 것 같지만 누군가 제게 도움을 주거나 설명해 줄 수 있다면 멋질 것입니다. 암호:

public class Sum
{
    public static void main(String[] args)
    {
        int[][] array = {{32, 4, 14, 65, 23, 6},
                        {4, 2, 53, 31, 765, 34},
                        {64235, 23, 522, 124, 42, 64}};
    }
    
    public static int sumRow(int[][] array, int row)
    {
        //This is where the sumRow method is supposed to be made.
    }
}

  • 답변 # 1

       public class Sum {
            public static void main(String[] args) {
                int[][] array = {{32, 4, 14, 65, 23, 6},
                        {4, 2, 53, 31, 765, 34},
                        {64235, 23, 522, 124, 42, 64}};
            }
            public static int sumRow(int[][] array, int row) {
                int sum = 0;
                for (int col = 0; col < array[row].length; col++) {
                    sum += array[row][col];
                }
                return sum;
            }
        }
    
    

  • 답변 # 2

    사용하다 Arrays.stream(arr).sum() :

    public static int sumRow(int[][] array, int row) {
        if (row < 0 || row >= array.length) return -1; // row is not valid
        return Arrays.stream(array[row]).sum();
    }
    
    

  • 답변 # 3

    배열의 행을 반복하고 각 요소를 sum 어디 int sum 초기화되었습니다 0 .

    데모:

    public class Main {
        public static void main(String[] args) throws IllegalArgumentException {
            int[][] array = { { 32, 4, 14, 65, 23, 6 }, 
                                { 4, 2, 53, 31, 765, 34 }, 
                                { 64235, 23, 522, 124, 42, 64 } };
            // Test
            System.out.println(sumRow(array, 0));
            System.out.println(sumRow(array, 1));
            System.out.println(sumRow(array, 2));
            System.out.println(sumRow(array, 5));
        }
        public static int sumRow(int[][] array, int row) throws IllegalArgumentException {
            int sum = 0;
            if (row >=0 && row < array.length) {
                for (int i = 0; i < array[row].length; i++) {
                    sum += array[row][i];
                }
            } else {
                throw new IllegalArgumentException("The row number should be less than " + array.length);
            }
            return sum;
        }
    }
    
    

    산출:

    144
    889
    65010
    Exception in thread "main" java.lang.IllegalArgumentException: The row number should be less than 3
        at Main.sumRow(Main.java:21)
        at Main.main(Main.java:11)
    
    

    다른 데모 (예외 처리 포함) :

    public class Main {
        public static void main(String[] args) {
            int[][] array = { { 32, 4, 14, 65, 23, 6 }, 
                                { 4, 2, 53, 31, 765, 34 }, 
                                { 64235, 23, 522, 124, 42, 64 } };
            // Test
            for (int i = 0; i < 4; i++) {
                try {
                    System.out.println(sumRow(array, i));
                } catch (IllegalArgumentException e) {
                    System.out.println(e.getMessage());
                }
            }
        }
        public static int sumRow(int[][] array, int row) throws IllegalArgumentException {
            int sum = 0;
            if (row >=0 && row < array.length) {
                for (int i = 0; i < array[row].length; i++) {
                    sum += array[row][i];
                }
            } else {
                throw new IllegalArgumentException("The row number should be less than " + array.length);
            }
            return sum;
        }
    }
    
    

    산출:

    144
    889
    65010
    The row number should be less than 3
    
    

  • 이전 javascript - 쉼표로 숫자 형식 지정
  • 다음 sql - Postgres @> 모든 값