티스토리 뷰

비정방형 배열을 만들어 값을 초기화하고 출력해보자.

  10 

 11

 12

 20

 21

 X

 30

 31

 32

 40

 41

 X 

 

위 배열은 2차원 배열이다.  1행은 3열로 이루어져있고, 2행은 2열 , 3행은 3열 , 4행은 2열로 이루어져있다.

이 배열의 첨자를 무턱대고 첨자를 [4][3] 이라고 선언할경우 X로 표기된 부분과 같이 공간을 낭비하는 경우가 생긴다.

이 경우 어떻게 해야될까 ?  해결법은 비정방형 배열이다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
public class Practice {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
 
        int i[][];
        i = new int[4][];
 
        i[0= new int[3];
        i[1= new int[2];
        i[2= new int[3];
        i[3= new int[2];
 
 
        for(int j=0; j< i.length; j++){
            for(int k=0; k<i[j].length; k++){
                i[j][k] = 10*(j+1)+k;
            }
        }
 
        for(int j=0; j< i.length; j++, System.out.println()){
            for(int k=0; k<i[j].length; k++){
                System.out.print(i[j][k]+" ");
            }
        }
    }
 
}
 
cs

먼저  i = new int[4][]; 이라고 선언을 하고 i[0= new int[3]; 그에 따른 열의 길이에 맞춰 공간을 할당하면 되는것이다.

 

출력화면

 

 

'IT > JAVA' 카테고리의 다른 글

[정보 올림피아드] 151번  (0) 2017.07.06
[정보 올림피아드] 150번  (0) 2017.07.06
[정보 올림피아드] 555번  (0) 2017.07.06
배열의 이름은 무엇을 의미할까?  (0) 2017.07.06
JVM이 사용하는 메모리 영역  (4) 2017.07.06
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31