2012-03-11 50 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