글쓴이 :박재형 2000년 3월 08일 17:02:09
2차원 배열을 동적으로 생성하기 위해 Vector를 사용했습니다.
그런데 결과값이 이상합니다.
제가 하고자 하는 것은 sequence와 flag 쌍을 정의해 사용하는 것입니다.
sequence는 순서적으로 설정되고, flag만 임의의 값이 설정됩니다.
즉,
sequence flag
1 3
2 1
3 -1
4 2
와 같이 sequence 2일때 flag값 1을 setting하여, 나중에 sequence 2이면 1이라는 값을
얻어 연산을 수행하죠.
Vector가 사용되는 부분을 아래와 같이 간략히 기술합니다.
int key = -2; // key -2로 초기화.
Vector seq = new Vector();
Vector flag = new Vector();
for(int i=0 ; i<table.length ; i++) { // table이라는 2차원 배열에서 match되는
for(int j=0 ; j<table[i].length ; j++) { // 것을 찾아 해당 key에 i값을 설정합니다.
if(column.indexOf(table[i][j]) > -1) {
key = i;
flag.addElement(new Integer(key)); // 벡터에 넣을때(결국 i값을 넣어 나중에 i값을 찾기위해)
seq.addElement(flag);
}
}
}
for (int count=0; count < table.length ; count++) { // 벡터에서 꺼내 사용할 때
Vector test = (Vector)seq.elementAt(count);
Integer temp = (Integer)test.firstElement();
int temp1 = temp.intValue(); // 해당 seq의 key값을 얻어온다(상위 for문의 i값)
}
근데 temp1값을 보면 모두 0으로 출력됩니다.
아무래도 벡터에 저장될 때 0으로 저장되는것 같은데.....
뭐가 문제인지 알려주세요.