public void computeAverage(String [] names, int [] scores, char [] grades){
int av = 0;
for (int i = 0; i < names.length; i++)
av = (scores[i]++ / 26);
System.out.print(av);
}
嘿伙计们,
以上是我的代码,用于阅读测试分数列表并计算其平均值。有26个考试成绩。我遇到了麻烦,请帮忙!
感谢
答案 0 :(得分:1)
这里的问题是你在循环的每次迭代期间继续写av
变量。此外,您似乎不需要names
和grades
数组作为参数,因为您没有使用它们。这应该更好:
public void computeAverage(int [] scores)
{
double average = 0;
for (int i = 0; i < scores.length; i++)
{
average += scores[i];
}
average /= scores.length;
System.out.print(average);
}
答案 1 :(得分:1)
让我们打破这个:
您需要遍历您的entires得分数组并总结每个得分 总计
然后您需要除以总分数。作为@ cliff.meyers 指出,这是平均值的定义
作为旁注,你是针对name.length循环,而是索引 分数。那很糟糕。
您要除以硬编码常量。这也很糟糕。
您不需要函数中的名称或等级来计算平均值。
答案 2 :(得分:0)
首先尝试将它们全部添加,然后除以总数。这就是你计算平均值的方法......
答案 3 :(得分:0)
您需要添加对正在运行的记录的贡献:
av += (scores[i] / 26.0);
或许更好地除以names.length
,甚至更好地将分区留到最后。最后,要小心整数除法,这可能不会像你想象的那样做。
答案 4 :(得分:0)
public static int computAverage(int[] scores)
{
long sum = 0;
for(int i : scores)
sum += i;
return sum / scores.length;
}