找到部分填充数组中的平均值

时间:2011-10-28 22:34:52

标签: java arrays

想法是创建一个静态的方法,它将计算部分填充数组的平均工资。假设numEmployees保存数组中具有有效数据的元素数。 numEmployees被传递给方法。

 public static double getAverage(double[ ] numEmployees)
{
double total = 0;  
 double average;
for (int i = 0; i < numEmployees.length; i++)
total += numEmployees[i];

average = total / numEmployees.length;

return average;
}

我是否需要在方法中添加一个对填充的数组进行计数的部分? 像:

 int count=0;
 int p=0;
 if (numEmployees[p]>0)
 {
 count++;
 p++;
 }

或者我应该在消息中的for循环中添加一个部分,并将我的总数改为:

for (int i = 0; i < numEmployees.length || numEmployees>0; i++)
 total += numEmployees[i];

远远低于

 average = total / i;

1 个答案:

答案 0 :(得分:5)

public static double getAverage(double[] numEmployees)
{
    double total = 0; 
    double count = 0; 
    for (int i = 0; i < numEmployees.length; i++)
        if (numEmployees[i] > 0) {
            total += numEmployees[i];
            count++;
        }

    return total / count;
}

请注意,如果在第一个0之后不能再有值,那么在检测到一个循环时结束循环也是很好的。我在这里写的内容会查找大于0的任何值,无论0发生在哪里。