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

问题描述:

该想法是创建一个静态方法,该方法将计算部分填充数组的平均工资。假设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 (int i = 0; i < numEmployees.length || numEmployees>0; i++) 
total += numEmployees[i]; 

比越往下

average = total/i; 
+0

P.S. “numEmployees”数组的名称更好一些,名字是“employeeSalary”。如果你比他们的薪水更了解每个员工,可以考虑创建一个Employee类。 –

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发生在哪里。

+0

谢谢你队友,我这么认为,但不知道 –

+2

+1,这是正确的做法,但没有理由'count'应该是一个双;它应该是一个'int'。 –

+0

大声笑哎呀,显然没有支付attentino那里... – Steven