如何计算平均成绩(算术方法),从而将极端成绩(6)从列表中删除 - 而最小的(1)将从列表中删除?import java.util.*;import java.lang.*;import java.io.*;class ListOfGrades{ public static void main (String[] args) throws java.lang.Exception { //Create and fill the list ArrayList<Integer> grades = new ArrayList<Integer>(); grades.add(1); grades.add(2); grades.add(3); grades.add(4); grades.add(5); grades.add(6); for(int i=0; i < grades.size(); i++) { System.out.println("Element : [" + i + "] grades " + grades.get(i)) ; } System.out.println(); System.out.println("Removing last Element"); grades.remove(grades.size()-1); System.out.println("Now all grades are : " + grades); System.out.println(); System.out.println("Removing first Element"); grades.remove(grades.size()-5); System.out.println("Now all grades are : " + grades); }}
3 回答
哔哔one
TA贡献1854条经验 获得超8个赞
您可以在之前编写的代码的末尾添加这个简单的代码:
int sum=0;
for (int i=0; i<grades.size();i++){
sum+=grades.get(i); //adding all the grades in variable sum
}
double avg= sum/grades.size(); //dividing the sum with total number of
//grades to calculate average
System.out.println("average grade :" + avg);
红颜莎娜
TA贡献1842条经验 获得超13个赞
我试过这样的事情:
grades.stream().filter(g -> !(g == 1 || g == 6)) .reduce((grade, sum) -> grade + sum) .map(sum -> sum / 4) .orElse(0);
偶然的你
TA贡献1841条经验 获得超3个赞
有使用Collectors::averagingDouble的流 api 解决方案:
Double average = grades.stream() .collect(Collectors.averagingDouble(value -> value));
添加回答
举报
0/150
提交
取消
