2012-03-11 30 views
0

用戶定義的對象的我在一個稱爲PQ文件,它是具有這樣陣列在機器人

public class PQ { 
    String ec; 
    String com; 
    String ai[3]; 
    String answers[3]; 
} 

字符串現在我想使長度的該對象的一個​​陣列10 然後,一個對象創建的類用填充每個像歐盟的各個元素,具有數據通信按我的要求像

for(i=0;i<10;i++) 
    pq.ec=25; 

循環如何做到這一點? 我也想填寫答案,答案。如何訪問這些元素 我想ArrayList的,但我能夠加入整個對象,但無法添加個別項目 請幫我

回答

3

在您的PQ類中定義getter和setter操縱你的對象的領域安全符合封裝原理

public String getEc() 
{ 
    return ec; 
} 

public void setEc (String ec) 
{ 
    this.ec = ec; 
} 

public String getCom() 
{ 
    return com; 
} 

public void setCom (String com) 
{ 
    this.com = com; 
} 

public String [] getAi() 
{ 
    return ai; 
} 

public void setAi (String [] ai) 
{ 
    this.ai = ai; 
} 

public String [] getAnswers() 
{ 
    return answers; 
} 

public void setAnswers (String [] answers) 
{ 
    this.answers = answers; 
} 

要填充PQ對象數組使用類似於此的碼:

PQ [] objects = new PQ [ 10 ]; 

for (int i = 0; i < objects.length; i++) 
{ 
    objects [ i ].setEc("your ec"); 
    objects [ i ].setCom("your com"); 
    objects [ i ].setAi(new String [] {"fill the string array"}); 
    objects [ i ].setAnswers(new String [] {"fill the string array"}); 
} 

請注意,可以通過使用適當的設定器方法和有效的參數填充各個對象的各場( S)。

+0

@Chinnikrishna使用setter方法並不是必需的,因爲你的字段沒有被標記爲私有的,雖然建議你應該將你的類變量標記爲私有的(或至少保護)並使用setter方法來訪問它們以尊重封裝; – noob 2012-03-11 17:45:27

+0

Might還建議添加一堆顯式構造函數來實例化/初始化'pq'。 – 2012-03-11 18:16:46

+0

@MH假設OP在構造函數中做了這些微不足道的賦值操作。 – Juvanis 2012-03-11 18:26:03