본문 바로가기

Zero Base 백엔드 스쿨 6기

ZB BE 6th - 자바 공부 #4-1. 다차원 배열 활용 문제

Q. 아래와 같이 3x3 행렬이 2차원 배열로 초기화 되어있다. 모든 원소를 1로 변경하고, 대각 원소는 10으로 변경하시오.

>> 1. testArray1의 모든 원소를 1로 초기화한다.

2. 대각원소 testArray1[0][0], testArray1[1][1], testArray1[2][2], testArray1[0][2], testArray1[2][0] 을 10으로 초기화.

 

 int [][] testArray1 = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}};

 

for (int i = 0; i < testArray1.length; i++) {
            for (int j = 0; j < testArray1[i].length; j++) {                                   // [i][j] 를 3x3 배열로 만듬.
                testArray1[i][j] = 1;                                                                      // 모든 원소 1로 변경.
                testArray1[0][2] = 10;                                                                  // 0행 2열 : 10
                testArray1[2][0] = 10;                                                                  // 2행 0열 : 10
                if ( i == j ) {
                    testArray1[i][j] = 10;                                                                // 0행0열, 1행1열, 2행2열 : 10
                }
            }
        }

[출력 코드]

for each 문 활용 (안에 있는 모든 데이터를 출력해야함)
코드 활용 예시 : 
for (int 신규변수명 : 반복하고자하는 변수명) {
System.out.println (신규변수명);
}

 

for ( int [] row : testArray1) {         // int [] row 에서 [] 사용한 이유는 testArray1이 [] 활용해서 선언되어있기 때문.

for ( int column : row) {

System.out.print (column + " ");

}

System.out.println ();

}