2013-08-27 108 views
-2

Newbee在这里。
在Android应用程序中,我有一个ProdMod类。
我可以以编程方式评估该课程pm = new ProdMod();使用数组来操纵班级成员

该类有许多成员t1,t2,t3,... t35。
编程我可以操纵通过pm.t1成员=值

我想这样做是为了能够指定我想要的成员访问,如响应pm.t4或pm.t23编程一个参数(PARAM)。
换句话说,当PARAM = 13时,我想pm.t13 = value;
PARAM = 30时我想pm.t30 =值。

我可以通过使用PARAM值作为案例的开关来实现这一点。

我的问题是:有没有办法用较少的代码来实现这一点?有没有办法在pm.xxx中更改xxx的值,以便当PARAM为7 pm时.xxx将被Android识别为pm.t7,并且当PARAM为21 pm时.xxx将被Android识别为pm.t21

在此先感谢您的帮助。示例代码表示赞赏。 Jim

+0

使用数组而不是单个成员! – kol

+3

我会直言不讳:这是不可读的 – LittleBobbyTables

+0

作为一个更有建设性的评论,你需要编辑你的问题,以便它真正清晰 - 一个巨大的运行自己的段落,没有代码格式是非常难以阅读。此外,使用适当的标签为您的问题(我怀疑'android',也许?) – LittleBobbyTables

回答

0

使用数组而不是单个字段!您的PARAM将是此数组的索引。

前:

class ProdMod 
{ 
    public float t1; 
    public float t2; 
    public float t3; 
    public float t4; 
    public float t5; 

    public ProdMod() { } 

    // ... 
} 

后:

class ProdMod 
{ 
    private float[] t = new float[5]; 
    public float get_t_element(int i) { return t[i]; } 
    public void set_t_element(int i, float value) { t[i] = value; } 

    public ProdMod() { } 

    // ... 
} 

这里t包含float秒,只有5个,不是35,但是这仅仅是一个例子。请注意,第二个示例中的get_t_elementset_t_element的索引参数i从0到4运行,而不是从1到5. Here是有关数组的正式Java教程。