11.基础语法练习之评委打分问题

裁判评分

package com.itheima;

import java.util.Scanner;

/*
 * 需求:在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。
 * 选手的最后得分为:去掉一个最高分和一个最低分后 其余4个选手的平均值。
 * 请写代码实现。(不考虑小数部分)
 * 
 * 分析:
 *      A:定义一个长度为6的数组
 *      B:键盘录入评委的分数
 *      C:写方法实现获取最高分和最低分
 *      D:写方法求评委的分数和
 *      E:平均分:(和 - 最高分 - 最低分)/(arr.length-2)
 *      F:输出平均分即可
 */
public class Test6 {
    public static void main(String[] args) {
        //定义一个长度为6的数组
        int[] arr = new int[6];
        
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        
        //键盘录入评委的分数
        for(int x = 0; x < arr.length; x++) {
            //接受数据
            System.out.println("请输入第" + (x + 1) + "个评委给出的分数(0-100)");
            int score = sc.nextInt();
            arr[x] = score;
        }
        
        //写方法实现获取最高分和最低分
        //调用方法
        //最高分
        int max = getMax(arr);
        //最低分
        int min = getMin(arr);
        
        //写方法求评委的分数和
        int sum = sum(arr);
        
        //平均分:(和 - 最高分 - 最低分)/(arr.length-2)
        int avg = (sum - max - min) / (arr.length - 2);
        
        //输出平均分
        System.out.println("该选手的最终得分是:" + avg);
    }
    
    /*
     * 两个明确:
     *      返回值类型:int
     *      参数列表:int[] arr
     */
    public static int sum(int[] arr) {
        //定义变量
        int sum = 0;
        
        for(int x = 0; x < arr.length; x++) {
            sum += arr[x];
        }
        return sum;
    }
    
    /*
     * 两个明确:
     *      返回值类型:int
     *      参数列表:int[] arr
     */
    public static int getMin(int[] arr) {
        //定义参照物
        int min = arr[0];
        
        for(int x = 1; x < arr.length; x++) {
            if(arr[x] < min) {
                min = arr[x];
            }
        }
        return min;
    }
    
    /*
     * 两个明确:
     *      返回值类型:int
     *      参数列表:int[] arr
     */
    public static int getMax(int[] arr) {
        //定义参照物
        int max = arr[0];
        
        for(int x = 1; x < arr.length; x++) {
            if(arr[x] > max) {
                max = arr[x];
            }
        }
        return max;
    }
}

你可能感兴趣的:(11.基础语法练习之评委打分问题)