gpt4 book ai didi

java - 为什么元素没有被插入到数组中?

转载 作者:行者123 更新时间:2023-11-30 03:38:33 26 4
gpt4 key购买 nike

这是我正在开展的一个大项目的一部分。

这里的问题是在第一个 for 循环中每个循环的 varlist 中,我插入了一个我计算的数字,但后来当我想创建这个数组的新排序版本时,我得到了这个错误:

 " Type mismatch: cannot convert from void to float[] " 

我不明白为什么会出现此错误,可能是因为我将 float 除以 int 吗?

    public static float applyVarianceFilterOnDataset(
GeneExpressionDataset geneExpressionDataset, int numberOfGenesToKeep) {

int rows = geneExpressionDataset.genesNumber;
int cols = geneExpressionDataset.samplesNumber;
float[] varlist = new float[rows];

for (int i = 0; i < rows; i++) {
float var = 0;
for (int j = 0; j < cols; j++) {
float mean = calcMean(geneExpressionDataset.dataMatrix[i], cols);
var = (float) (Math.pow(
(geneExpressionDataset.dataMatrix[i][j] - mean), 2) + var);

}
varlist[i] = (var / cols);

}

float[] sortedarray = new float[rows];
sortedarray = Arrays.sort(varlist);
float thenum = sortedarray[rows-numberOfGenesToKeep-1];



}

geneExpressionDataset.genesNumber = numberOfGenesToKeep;
return thenum;
}

public static float calcMean(float[] ary, int num) {
float sum = 0;
for (float i : ary) {
sum += i;
}
return (sum / num);
}

最佳答案

Arrays.sort(varlist) 就地对数组进行排序。因此,您将数组传递给它,并在方法退出后对数组进行排序。

关于java - 为什么元素没有被插入到数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27295692/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com