7-4 集体评分2

程序填空题。请补充以下代码,完成题目要求。(注意:需要提交完整代码) 有一个团队由5个人组成。他们每个人给指导老师一个分数,去掉最高分,去掉最低分,剩下的3个分数的平均分就是该团队对指导老师的评分。

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
                Scanner in = new Scanner(System.in);
                int[] grade = new int[5];
                for(int i=0; i<grade.length; i++){
                      grade[i] = in.nextInt();
                 }

                RR rr = new RT(grade);
                double dd = rr.mark();
                System.out.printf("%.2f",dd);
    }
}
interface RR{
   double mark();
}
class RT implements RR{
   int[] grade;
   public RT(int[] grade){
      this.grade = grade;
   }
}

在一行中给出5个不超过10的正整数(从小到大排列)。

输出格式:

输出集体评分,保留小数点后两位。

输入样例:

1 2 4 6 9

输出样例:

4.00

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

栈限制

8192 KB

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int[] grade = new int[5];
        for(int i=0; i<grade.length; i++){
            grade[i] = in.nextInt();
        }

        RR rr = new RT(grade);
        double dd = rr.mark();
        System.out.printf("%.2f",dd);
    }
}
interface RR{       //接口在 Java 中是一种特殊的抽象类型,它只包含抽象方法和常量
    double mark();  //这个接口的作用是为实现它的类定义了一个必须提供的方法规范,任何实现了RR接口的类都必须实现mark()方法
}
class RT implements RR{
    int[] grade;
    public RT(int[] grade){
        this.grade = grade;
    }
    @Override   //复写修改方法
    public double mark(){
        int min = grade[0];   //关于从数组中找出最大值最小值的方法
        int max = grade[0];
        int sum = grade[0];
        for(int i=1;i<grade.length;i++){
            sum += grade[i];
            if(min > grade[i])
                min = grade[i];
            if(max < grade[i])
                max = grade[i];
        }
        return (sum-max-min)/(grade.length-2);
    }
}
/*
另一种寻找最大最小值的办法
        int min = Integer.MAX_VALUE;
        int max = Integer.MIN_VALUE;
        int sum = 0;
        for (int value : grade) {
            if (value < min) {
                min = value;
            }
            if (value > max) {
                max = value;
            }
            sum += value;
        }
        Integer.MAX_VALUE是 Java 中int类型所能表示的最大值。将min初始化为这个值
        ,是为了确保在后续遍历数组元素的过程中,任何小于这个初始值的元素都能被正确地识
        别为新的最小值并更新min的值。
 */

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值