本帖最后由 ysh512 于 2013-04-07 23:05:37 编辑

解决方案 »

  1.   

    第九到第10行加入
    cp=new CorrelationPair[length];
    还有我认为
     length=(correlationMatrix.length+1)*correlationMatrix.length/2;
    改成ength=(correlationMatrix.length-1)*correlationMatrix.length/2;
    这个数组就足够大了
      

  2.   

    传给public Partition(float[][] correlationMatrix)的数组没有初始化就使用了
      

  3.   

    一维数组初始化有以下几种方法:;
    1. int a[]//声明未初始化
    a = new int [10]; // 定义占用空间大小(10个int)
    2.int a[] = new int [10]; //声明并定义大小(即分配了指定大小的空间)
    3.int a[] = {1,2,3}
      

  4.   

    原因就如楼上们说的,C++和java还是有一定区别的,楼主还是注意区分下吧。