我想将一个二维 double 组转换为另一个二维整数数组。 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;
}
你们知道我做错了什么吗?提前致谢, 杰特诺里。
最佳答案
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++){
...
关于java - 将 2d double 数组转换为 2d int 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5238959/