我的ArrayList的平均值不正确

时间:2015-11-07 16:49:06

标签: java arraylist average

static ArrayList<Integer> gradeScore = new ArrayList<Integer>() {{
    add(100);
    add(50);
    add(90);
}};
public static void findAvg(){
    int totalSum = 0;
    for(int i: gradeScore){
        totalSum = totalSum+ i;

    int amountOfGrades = gradeScore.size();
    double gradeAvg =(totalSum/amountOfGrades);
    System.out.println(gradeAvg);
    }

}

当我运行方法时,我得到了 分数是[100,50,90] 你的平均值是 33.0 50.0 80.0 有人可以告诉我该做什么才能得到一个平均值吗?

3 个答案:

答案 0 :(得分:3)

for(int i: gradeScore){
        totalSum = totalSum+ i;
}
    int amountOfGrades = gradeScore.size();
    double gradeAvg =(totalSum/amountOfGrades);
    System.out.println(gradeAvg);

卷曲支撑是问题所在。在totalSum = totalSum+i

之后关闭for..loop

答案 1 :(得分:0)

您运行其他3行代码n次,这不是必需的。

您可以添加一次,然后在结尾显示。

int totalSum = 0;
for(int i: gradeScore){
    totalSum = totalSum+ i;
}
int amountOfGrades = gradeScore.size();
double gradeAvg =(totalSum/amountOfGrades);
System.out.println(gradeAvg);

此外,您的平均分割截断小数部分,如果您不想要它,则将其转换为双精度。

double gradeAvg = (double) (totalSum/amountOfGrades);

答案 2 :(得分:0)

for循环没有正确结束或缺少循环结束括号..我试着稍微定制你的解决方案

String line = bufferedReader.readLine();