首页 > 解决方案 > 从数组中添加年份 + 平均降雨量

问题描述

我被告知使用嵌套的 for 循环。外循环循环多年。内部循环将读取并汇总每年的降雨量并打印该年的平均值。

public class Rainy {

int years[] = {1, 2, 3};
double rain1[] = {1.5, 2.5, 3.5, 4.5, 5.5, 2.0, 1.0, 1.0, 2.0, 2.5, 3.0, 1.5};
double rain2[] = {1.0, 2.0, 3.0, 4.0, 5.0, 2.5, 1.5, 1.5, 2.5, 2.0, 3.5, 1.0};
double rain3[] = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 6.0, 5.0, 4.0, 3.0, 2.0, 1.0};

public void average(int[] data) {
    int sum = 0;
    double average;

    for(int i=0; i < data.length; i++){
        sum = sum + data[i];
    }
    average = (double)sum/data.length;
    System.out.println("Average value of array element is " + average);
}}

但我不确定如何在那里投入数年,因为输出会与他要求的不同。这就是输出的样子

第 1 年的平均值为 2.54。

第 2 年的平均值为 2.46。

第 3 年的平均值为 3.50。

所以这不只是在打印吗???也许我只是误会

标签: javaarrays

解决方案


如果该average方法需要将年份编号与平均值一起打印,则需要知道年份编号。将必要的数据传递给方法的通常和最好的方法是通过方法参数。将年份编号作为附加int参数传递:

public void average(int yearNo, int[] data) {
    int sum = 0;
    double average;

    for(int i=0; i < data.length; i++){
        sum = sum + data[i];
    }
    average = (double)sum/data.length;
    System.out.println("Average for year " + yearNo + " is " + average);
}

推荐阅读