2009-10-01 4 views
-5

이 코드를 설명해주십시오. 추가 벡터 TempC가 필요한 이유 이해가 안 :이 코드에서 임시 Vector 인스턴스의 용도는 무엇입니까?

질문
Vector A = new Vector(); 
Vector B = R.funcVector("TemporaryVector"); 

if(B!=null) 
{ 
    for(int i=0;i<B.size();i++) 
    { 
    Vector TempC = new Vector(); 
    Vector D = new Vector(); 

    TempC = (Vector)B.elementAt(i); 

    if(...) 
    { 
     D.addElement(TempC.elementAt(1); 

     // ... 

     A.addElement(D); 
    } 
    } 
} 
+0

이 숙제인가? – KLE

+1

R이 무엇이고, R이 무엇인지 알려주지 않는 한. –

+1

우리는 R이 무엇인지, funcVector가 반환 할 메소드가 무엇인지, 그리고 코드 전체가 무엇을해야하는지에 대해 알지 못하기 때문에 대답하기가 정말 어렵습니다. 컨텍스트 정보를 더 제공하십시오. – Jesper

답변

2

첫째 -이 코드를 작성 않았거나 다른 사람을 비난 할 수 있는가? 그것은 부정확하고 모호합니다. 또는 적어도, 수정 된 버전 - - 당신이 벡터 내에서 벡터를 저장하고 자바 적어도 일부 명명 규칙 ...이 코드에서

있습니다. B에서 벡터를 가져 와서 로컬 변수에 할당하고이 벡터의 첫 번째 요소를 벡터 A에, 전체 벡터 A를 D에 추가합니다.

'TempC'는 필요하지 않지만 최소한 코드에 대한 명확성의 최소)

당신은

D.addElement(((Vector) B.getElementAt(i)).elementAt(1)); 

aswell을 할 수 있습니다. 여기에 편집

는 드 난독 화 코드입니다 - 내가 알고있는 이상 방법) :

Vector<Vector<Object>> a = new Vector<Vector<Object>>(); 
Vector<Vector<Object>> b = createVector(r, "TemporaryVector"); 

if (b != null) { 
    for(Vector<Object> tempC: b) { 
    Vector d = new Vector<Object>(); 

    if(isOk()) { 
     d.addElement(TempC.elementAt(1)); 

     // more calculations 

     a.addElement(d); 
    } 
    } 
} 
관련 문제