评委打分 19

评委打分

案例需求

在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的随机整数分。 选手的最后得分为:去掉一个最高分和一个最低分后 的4个评委平均值 (不考虑小数部分)。

分析步骤

1、定义一个数组存储6个评委的分数。
2、随机6个0-100的分数存入到数组中去。
3、输出一下数组中的内容看一下。
4、找出该选手的评分均(去掉最高和最低)

随机数相关知识链接:
https://blog.csdn.net/qq_41005604/article/details/104991361

public class ExecDemo {
    public static void main(String[] args) {
        //  1、定义一个数组存储6个评委的分数。
        int[] scores = new int[6];
        //  2.循环6次为当前数组产生随机的6个0-100的分数
        Random r = new Random();
        for(int i = 0 ; i < scores.length ; i++ ){
            scores[i] = r.nextInt(101); // 0-100  1、把随机数赋值到了数组的当前位置
        }
        // 3.定义一个方法把数组的内容打印出来看一下!!
        printArray(scores);
        // 4.计算出该选手的平均分数。
        calcAvgScore(scores);
    }

    public static void calcAvgScore(int[] arr){
        int max = arr[0];  // 存储最大值
        int min = arr[0];  // 存储最小值
        int sum = 0 ;      // 求和
        // c.遍历数组
        for(int i = 0 ; i < arr.length ; i++ ) {
             // d.判断最大值
            if(arr[i] > max){
                max = arr[i];
            }

            // e.判断最小值
            if(arr[i] < min){
                min = arr[i];
            }

            // f.累加求和
            sum += arr[i];
        }
        // g.去掉最高分最低分
        int avg = (sum - max - min ) / (arr.length - 2);
        System.out.println("去掉最高分:"+max);
        System.out.println("去掉最低分:"+min);
        System.out.println("去掉最高分最低分后的平均分为:"+avg);
    }

    public static void printArray(int[] arr){
        System.out.print("[");
        for(int i = 0  ; i < arr.length ; i++ ) {
            System.out.print(i == arr.length - 1 ? arr[i] : arr[i]+", "); // 不能换行!
        }
        System.out.print("]");
        System.out.println(); // 换行!
    }
}

发布了34 篇原创文章 · 获赞 16 · 访问量 285

猜你喜欢

转载自blog.csdn.net/qq_41005604/article/details/105193089
今日推荐