全國中小學生Scratch作品大賽拉開了序幕。每個參賽選手可以通過網絡直接上傳作品。本次比賽人人可做評委。每個網絡評委可以通過網絡對每一件作品進行打分。評分系統也是請程序高手設計的,能自動去掉一個最高分和一個最低分,求出平均分。
輸入格式:
輸入數據包括兩行: 第一行為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將平均分轉換為兩位小數的浮點數 } }