[Java] 다차원 배열 출력하기

Jane·2021년 3월 31일
0
post-thumbnail

문제 상황

평소와 같이 배열을 Arrays.toString()을 이용하여 배열을 출력하려고 했는데 클래스명@16진수해시코드가 나왔다.

[[I@16b98e56, [I@7ef20235, [I@27d6c5e0, [I@4f3f5b24, [I@15aeb7ab, [I@7b23ec81, [I@6acbcfc0, [I@5f184fc6, [I@3feba861, [I@5b480cf9]

해결 방법

toString이 아닌 deepToString 메서드를 이용하니 배열이 정상적으로 출력되었다.

    public static void main(String[] args) {
        int n = 10;
        int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
        int[][] sum = new int[10][10];

        for (int i = 0; i < n; i++) {
            sum[i][i] = arr[i];
            for (int j = i + 1; j < n; j++) {
                sum[i][j] = sum[i][j - 1] + arr[j];
            }
        }

        System.out.println(Arrays.deepToString(sum));
        System.out.println("sum from index 0 to 3: " + sum[0][3]);
    }
[[1, 3, 6, 10, 15, 21, 28, 36, 45, 55], [0, 2, 5, 9, 14, 20, 27, 35, 44, 54], [0, 0, 3, 7, 12, 18, 25, 33, 42, 52], [0, 0, 0, 4, 9, 15, 22, 30, 39, 49], [0, 0, 0, 0, 5, 11, 18, 26, 35, 45], [0, 0, 0, 0, 0, 6, 13, 21, 30, 40], [0, 0, 0, 0, 0, 0, 7, 15, 24, 34], [0, 0, 0, 0, 0, 0, 0, 8, 17, 27], [0, 0, 0, 0, 0, 0, 0, 0, 9, 19], [0, 0, 0, 0, 0, 0, 0, 0, 0, 10]]
sum from index 0 to 3: 10

0개의 댓글