Java项目实战(评委打分)06

该程序用于处理编程竞赛中评委打分的情况。它接收6个0-100的整数作为输入,去除一个最高分和一个最低分,然后计算剩余4个分数的平均值作为选手的最终得分。程序包含了输入验证、求和、找最大值和最小值以及计算平均值的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码如下

import java.util.Scanner;

public class Test6 {

    /*
    需求:
        在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分
        选手的最后的得分为:去掉一个最高分和一个最低分后的4个评委的平均值
     */
    public static void main(String[] args) {
        int[] arr = getInts();
        int sum = getSum(arr);
        //5.求最大值,拿出第一个数据
        int max = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (arr[i] > max) {
                max = arr[i];
            }
        }

        System.out.println("最大值是: " + max);


        //6.求最小值,拿出第一个数据
        int min = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (arr[i] < min) {
                min = arr[i];
            }
        }
        System.out.println("最小值是: " + min);

        //7.平均值
        double pingJun=((sum*1.0)-max-min)/(arr.length-2);
        System.out.println("最后得分是: "+pingJun);
    }
    //求和
    private static int getSum(int[] arr) {
        //4.定义求和变量sum
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
        }

        System.out.println("总和成绩为: " + sum);
        return sum;
    }

    //此方法用于键盘录入6个评委打分数据
    private static int[] getInts() {
        //2.定义动态数组接收评委打分的数据
        int[] arr = new int[6];
        //1.假盘录入评委的打分
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入评委打分数据");
        //3.遍历,拿到所有评委打分的数据
        for (int i = 0; i < arr.length; i++) {
            System.out.println("请输入第" + (i + 1) + "的数");
            //8.加入if判断是否是1-100之间的数
            int panDuan = sc.nextInt();
            if (panDuan>=0 && panDuan<=100){
                //9.赋值给arr[i]
                arr[i]=panDuan;
            }else {
                System.out.println("你的输入有误,请检查是否是在1-100之间的数");
               i--;
            }
        }
        return arr;
    }


}



运行结果

请输入评委打分数据
请输入第1的数
20
请输入第2的数
30
请输入第3的数
40
请输入第4的数
50
请输入第5的数
60
请输入第6的数
70
总和成绩为: 270
最大值是: 70
最小值是: 20
最后得分是: 45.0
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值