JAVA PTA 7-1 做品評分 (10 分)

全國中小學生Scratch做品大賽拉開了序幕。每一個參賽選手能夠經過網絡直接上傳做品。本次比賽人人可作評委。每一個網絡評委能夠經過網絡對每一件做品進行打分。評分系統也是請程序高手設計的,能自動去掉一個最高分和一個最低分,求出平均分。java

輸入格式:

輸入數據包括兩行: 第一行爲n,表示n個評委,n>2。 第二行是n個評委的打分,分數之間有一個空格。打分是能夠帶有小數部分的。數組

輸出格式:

輸出平均分,結果保留兩位小數。網絡

輸入樣例:

6
10 9 8 7.9 9 9.5

輸出樣例:

8.88

 

import java.util.*;
 
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);//經過new Scanner(System.in)建立一個新的Scanner命名爲in,控制檯會一直等待輸入,直到敲回車鍵結束,
                                            //把所輸入的內容傳給Scanner,做爲掃描對象。
        int n = in.nextInt();//只能輸入int類型的字符串
        in.nextLine();//返回Enter鍵以前的全部字符,因此能夠獲得帶空格的字符串
        float sum = 0;
        List<Float> nums = new ArrayList<Float>();//是泛型,表示該List中只能放Float對象
        String[] line = in.nextLine().split(" ");//根據空格,將字符串拆分爲字符串數組。
        for (String str : line) {
            nums.add(Float.valueOf(str));//Float.valueOf(String)是把String字符串轉換成float的封裝類Float
        }
        Collections.sort(nums);//由小到大對List集合中的元素進行排序
        nums.remove(0);//去掉最小值
        nums.remove(nums.size() - 1);//去掉最大值
        for (double num : nums) {
            sum += num;
        }//求去掉最小數和最大數後的和
        System.out.println(String.format("%.2f", sum / (n - 2)));//.format將平均分轉換爲兩位小數的浮點數
    }
}
相關文章
相關標籤/搜索