我想将二维双精度数组转换为另一个二维整数数组。 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++){
...