同一类中,有2个方法A(),B(),我现在要在a方法里调用b里的数组array[],array的访问权限怎么设置的呀。如果我把array[]设置成整个类的成员变量,出java.lang.ArrayIndexOutOfBoundsException:0
的错误,到底是什么原因呢。具体简略代码如下   (如果设置成成员变量 array[],就会显示错误java.lang.ArrayIndexOutOfBoundsException,出错地点在c方法里for循环那)
public class HierarchicalClustering implements IClustering,Runnable{
  int nrow;
  int ncol;
  int ncluster;
  int[] array = new int[nrow];  
public static void A(){
for(int i;i<nrow;i++)
if (array[i]==i)
System.out.println();}public static void B(){nrow=gs.gerRow
 for (int j = 0; j < nrow; j++) 
array[i]=i;}
public static void C(int nrow, int[] array, 
          int clust1, int clust2, int ncl)   {      for (int j = 0; j < nrow; j++) {
                                array[i] = 0;
       }}

解决方案 »

  1.   

    i没有初始化
    j的循环里用的是i?i没有定义
      

  2.   

    对不起,那里写错了 ,你的意思是c方法里没有初始化吗?问题是我不能事先定义array的大小呀,这个值只能从B方法里nrow传过来定义大小。
    public static void C(int nrow, int[] array, 
              int clust1, int clust2, int ncl)   {      for (int j = 0; j < nrow; j++) {
                                    array[j] = 0;
           }}