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将平均分转换为两位小数的浮点数
    }
}
相关文章
相关标签/搜索