[英]finding the average of rows of a jagged array
我試圖找到我在鋸齒狀二維數組上的平均行數,我已經將數組打印出來,但平均部分打印出錯誤的平均值。 我的代碼有什么問題?
//print array
for(int k = 0; k < arr.length; k++{
for(int j = 0; j < arr[k].length; j++) {
System.out.print(arr[k][j] + " ");
}
System.out.println();
}
//average
for (int r = 0; r < arr.length; r++){
double sum = 0.0;
double avg = 0.0;
for (int c = 0; c < arr[r].length; c++){
sum += arr[r][c];
avg = sum / i; // i is the columns of the array;
}
System.out.println("Row " + (row + 1) + " average is: " + avg);
}
與其動態計算平均值,不如在最后只通過移動avg = sum / i;
來計算它。 在嵌套循環之外,否則每次循環時它都會除以不正確的值。 也使用avg = sum / arr[r].length;
相反,因為我們確切地知道每行有多少列:
for (int r = 0; r < arr.length; r++){
double sum = 0.0;
for (int c = 0; c < arr[r].length; c++){
sum += arr[r][c];
}
//Calculate the average outside the nested loop using (sum / columns)
double avg = avg = sum / arr[r].length;
System.out.println("Row " + (row + 1) + " average is: " + avg);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.