如何return匹配指定年份的所有对象的平均马力? java

How to return the average horsepower of all objects that match a specified year? java

大家好,一直在想关于如何找到特定年份的平均马力的数学编码吗?如果有人可以帮助我编写代码,那就太好了。我还可以提供有关 ArrayList 或 Class 的更多信息,如果您愿意,请发表评论。

方法要求如下:

public double getAverageHorsepowerOfYear(int modelYear)

这是我的方法:

public double getAverageHorsepowerOfYear(int modelYear)
{
    double avgHP = 0.0;


    for(Lamborghini l : inventory){
        if(l.getModelYear() == modelYear){
            avgHP = avgHP/l.getHorsepower();
            avgHP++;
        } 
    }
    return avgHP;
}

我觉得这是不正确的,所以如果有人能帮助我,我将不胜感激。提前致谢。

你对average的计算全错了。您必须找到马力的总和,然后将其除以符合您标准的汽车总数。相反,您要做的是...将 运行 平均值除以新 HP,然后再加一?

看起来像一个作业,所以这里有一些伪代码:

public double getAverageHorsepowerOfYear(int modelYear) {
    sum = 0.0
    count = 0
    for each car:
        if criterion matches:
            add HP to sum
            increment count
    return sum / count
}

您需要计算总 HP 并将其除以汽车数量。

public double getAverageHorsepowerOfYear(int modelYear)
{double TotalHP = 0.0;
double avgHP = 0.0;
int count = 0

for(Lamborghini l : inventory){
    if(l.getModelYear() == modelYear){
        TotalHP = TotalHP + l.getHorsepower();
        count++;
    } 
}
avgHP = TotalHP/count;
return avgHP;
}
  • public double getAverageHorsepowerOfYear(int modelYear){ 迭代器it = inventory.iterator(); 双总HP = 0; 整数计数 = 0;

       while (it.hasNext()){
           Lamborghini hpList = it.next();
    
           if (hpList.getModelYear() == modelYear) {
               totalHP += hpList.getHorsepower();
              count++;
           }
    
       }
       return (totalHP/count);
    

    }