如何計算平均成績(算術(shù)方法),從而將極端成績(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貢獻(xiàn)1854條經(jīng)驗 獲得超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貢獻(xiàn)1842條經(jīng)驗 獲得超13個贊
我試過這樣的事情:
grades.stream().filter(g -> !(g == 1 || g == 6)) .reduce((grade, sum) -> grade + sum) .map(sum -> sum / 4) .orElse(0);

偶然的你
TA貢獻(xiàn)1841條經(jīng)驗 獲得超3個贊
有使用Collectors::averagingDouble的流 api 解決方案:
Double average = grades.stream() .collect(Collectors.averagingDouble(value -> value));
添加回答
舉報
0/150
提交
取消