我想将二维双精度数组转换为另一个二维整数数组。 double数组填充的值小于1。我要创建一个新的int [] [] array,并使用if else语句将新数组中的值设置为1和0。但是我不确定在哪里初始化我的int数组intMatrix。

public int[][] readCorrMatrix(){

    String filename=ReadFile.getPath();
    double[][]rawDataMatrix=ReadMatrix.readDataMatrix(filename, ",");
    RealMatrix speaRealMatrix=Spearmans.calcSpearMatrix(rawDataMatrix);
    double[][]speaRealMatrixArray=speaRealMatrix.getData();
    int[][]intMatrix=null;
    for(int i=0; i<speaRealMatrixArray.length;i++){
        for(int y=0; y<speaRealMatrixArray[i].length;y++){

            intMatrix[i][y]=(int)speaRealMatrixArray[i][y];
            if(speaRealMatrixArray[i][y]<0.6)
            {
                intMatrix[i][y]=0;
            }
                else
                {
                    intMatrix[i][y]=1;
                }
        }
    }
    return intMatrix;
}


你们对我在做什么错有任何想法。提前致谢,
Jetnori。

最佳答案

int[][]intMatrix= new int[speaRealMatrixArray.length][];
...
for(int i=0; i<speaRealMatrixArray.length;i++){
      intMatrix[i] = new new int[speaRealMatrixArray[i].length];
      for(int y=0; y<speaRealMatrixArray[i].length;y++){
...

09-25 23:12