Java计算另一个文件的数字平均值

时间:2011-07-13 23:37:08

标签: java file average

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个考试成绩。我遇到了麻烦,请帮忙! 感谢

5 个答案:

答案 0 :(得分:1)

这里的问题是你在循环的每次迭代期间继续写av变量。此外,您似乎不需要namesgrades数组作为参数,因为您没有使用它们。这应该更好:

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;
}