[英]Java Multi-dimensional Array Average
基本上,我有一個數組,可以保存1907-2007年的降雨數據(例如-長度100)。 數組的每個元素都包含另一個數組,其中包含該年每個月的降雨量數據。
我的問題是,如何計算用戶指定年份的平均降雨量? 這是我到目前為止的內容:
public double calculateAverageForYear(int year){
double sum = 0.0;
for (int i=0;i<Years.length;i++){
sum = sum += Years[i].calculateAvgRain();
}
sum = sum/12;
return sum;
}
computeAvgRain在另一個類中定義,就我的測試而言是正確的。 謝謝您的幫助
我將假設用戶定義的參數int year
不是years
數組的實際索引。 如果是實際年份,則必須根據數組中的第一年將其轉換。 假設1907年是索引為0的元素,它應該像int index = year - 1907
這樣容易。
如果您使用Years[i].calculateAvgRain()
有效,那么您可能只需要調整i
(如上所述)即可。 然后,您不需要循環。
由於您要提出問題,可能就是問題所在。 我假設您有100x12的數組,其中行作為年份,列中表示月份降雨數據。
public double calculateAverage(int year) {
int index = year - 1907; //extract 1907 into a CONSTANT or some other variable if possible
double sum = 0.0;
for (double monthRain : years[index]) { //is `years` visible?
sum += monthRain;
}
return sum / years[index].length; //`years[index].length` should be 12, but maybe you have a blank month data?
}
請糾正我,並更詳細地闡明問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.