所以我在将值传递给java中的另一个类时遇到了问题。 我有一个应用程序接受用户的方程式,点击按钮后,它找出方程式所具有的变量数量,并将变量放在两个列表中。现在,我需要将这些变量传递给另一个类。
这里是我需要使用变量的代码片段: beeColony.java
public class beeColony {
int D;
double Foods[][]=new double[FoodNumber][D];
public void getDimension(int D)
{
this.D = D;
}
}
基于此处,我需要将变量Foods初始化为具有取决于FoodNumber和D的大小。对于FoodNumber而言,没有任何问题,因为它是静态的。
在我的主应用程序中有一个事件处理程序
private void getvalueMouseClicked(java.awt.event.MouseEvent evt) {
bee.getDimension(dim);
}
当我在我的一个方法中输出变量D时,它等于我赋给它的值。我的问题是阵列Foods的大小。我得到一个IndexOutOfBounds异常。我认为当我初始化数组Foods时,它无法获得D的值。
有关如何解决这个问题的想法吗?
答案 0 :(得分:0)
为什么使用getDimension()来设置值?
发生这种情况的原因是因为你必须创建一个新的beeColony类,并且在这样做时你使用了默认值D(设置为零)。然后它将使用D的这个值来创建Foods数组。这将创建一个大小为FoodNumber x 0的Foods数组
我会改变如下:
public class beeColony {
int D;
double Foods[][]=null;
public void getDimension(int D)
{
this.D = D;
this.Foods = new double[FoodNumber][D];
}
}
}