-2

新手来了
在 Android 应用程序中,我有一个 ProdMod 类。
我可以通过 pm = new ProdMod(); 以编程方式评估课程;

t1, t2, t3, ... t35 类有很多成员。
以编程方式,我可以通过 pm.t1 = value 操作成员

我想做的是能够指定我想要访问的成员,例如 pm.t4 或 pm.t23 以编程方式响应参数(PARAM)。
换句话说,当 PARAM =13 我想要 pm.t13=value;
当 PARAM = 30 我想要 pm.t30=value。

我可以通过使用 PARAM 的值作为案例的开关来完成此操作。

我的问题是:有没有办法用更少的代码来完成这个?有没有办法改变 pm.xxx 中 xxx 的值,这样当 PARAM 为 7 pm.xxx 时,Android 将识别为 pm.t7,而当 PARAM 为 21 时,pm.xxx 将被 Android 识别为 pm.t21

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

4

1 回答 1

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包含floats,并且只有5个,不是35个,但这只是一个例子。请注意,第二个示例iget_t_element和的索引参数set_t_element从 0 到 4,而不是从 1 到 5。是有关数组的官方 Java 教程。

于 2013-08-27T15:48:47.000 回答