【发布时间】:2015-11-07 16:49:05
【问题描述】:
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
谁能告诉我怎么做才能只得到一个平均值?
【问题讨论】:
-
您正在计算并打印每次循环迭代的平均值。在你的 for 循环之后做一次
-
创建列表的更好方法:
static List<Integer> gradeScore = Arrays.asList(100, 50, 90),或者如果它必须是ArrayList,请使用static ArrayList<Integer> gradeScore = new ArrayList<>(Arrays.asList(100, 50, 90))