gpt4 book ai didi

java - 计算二维数组中每行的平均值和标准差

转载 作者:行者123 更新时间:2023-11-30 04:54:56 25 4
gpt4 key购买 nike

我有二维数组,我也需要计算每行的平均值和标准差并将其存储在正确的位置。我已经编写了代码,但它仍然给出了错误的结果,没有给出预期值的正确答案。谁能帮助我,也许我的代码是错误的,但我不知道如何纠正它。这是数组

enter image description here

这是代码本身:

public void analyze(String[][] arr) {
double res = 0.0;
double avg = 0;
double variance = 0;
double SD;
double Q = 0;
int index = 0;

for (int i = 1; i < (arr.length); i++) {
for (int j = 1; j < (arr[i].length); j++) {
res = res + Integer.parseInt(arr[i][j]);
}

avg = res / (arr[i].length - 1);

System.out.print("arr[i].length: " + arr[i].length + "\t");
System.out.println("Average is " + avg);
/*
double v = Q + (arr.length - avg) * (arr.length - avg);
variance = Q / (arr.length - 1);
SD = Math.sqrt(variance);
System.out.println("average is " + avg);
System.out.println("SD");

double nums[] = { 1.0, 2.3, 3.4, 4.5, 40.5 };
double result = 0.0;
for (i = 0; i < nums.length; i++) {
result = result + nums[i];
}
System.out.println("Average is =" + result / nums.length);
*/
}
}

最佳答案

您在 1 上启动两个 for 循环。 Java 中的数组是零索引的。这会导致您完全错过第一行以及后续每一行中的第一列。

改变

    for(int i=1; i<(arr.length);i++){
for(int j=1;j<(arr[i].length);j++){
res = res+Integer.parseInt(arr[i][j]);
}

    for(int i=0; i<(arr.length);i++){
for(int j=0;j<(arr[i].length);j++){
res = res+Integer.parseInt(arr[i][j]);
}

关于java - 计算二维数组中每行的平均值和标准差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8840437/

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