数组的初始化,如double array[][];如果能够确定长度,最好申明为
double array[][] = new double[i][j];//其中ij均为常量……
否则其长度等原因会很难控制而造成溢出啊等出错
另外,数组可能在运行之中没有赋值,最好声明的同时初始化
比如
for(i=0;i++;i<常量){
  for(j=0;j++;j<常量){
    array[i][j] = 0.0;
  }
}
而你程序里面的初始化比如array[0][j]=0.0;明显是错误的,array[0][j]是一维数组,而你将一个值赋给它,肯定是失败的

解决方案 »

  1.   

    你这个程序数组定义的很多地方有问题
    建议你用vector矢量来存储
    如果非要用double二维数组的话,建议你开头定义的array[i][j]足够大,即保证在后面的循环处理时array[m][n]有值,否则很容易报错NullPointerException
      

  2.   

    还有,如果我想把数组array[i][j]中的限制数组范围的i和j一起传过去该怎么办呢?
      

  3.   

    array[][]的每一个就应来一个下面的初始化:
    for(int i=1;i<=k;i++){
    for(int j=1;j<=l;j++){
    array[i][j] = nw double;
    }
    }
    其中的k,l当然是你想的想要的数值了。
      

  4.   

    我的意思是说,你看到我的max和min函数了吧,我想把array[i][j]中的i,j也传过去,使得max和min中的数组有限制
    谢谢!
      

  5.   

    那你就在能够确定i,j的时候再定义数组array[i][j]
    至于作为传入参数使用,i,j是可以没有必要传入,只需传入这个数组即可,因为数组已经确定长度,i,j均可以通过.length方法取得。