溢彤 2021-11-02 11:06 采纳率: 33.3%
浏览 49
已结题

求帮助接口知识点代码

1、 实验题目要求
1、体操比赛计算选手成绩的办法是去掉一个最高分和最低分后再计算平均分,而学校考察一个班级的某科目的考试情况时,是计算全班同学的平均成绩。编写能够满足如下条件的程序:

(1)定义一个接口,包含计算平均值的抽象方法。
(2)定义一个实现上述接口的用于计算体操比赛选手成绩的类。
(3)定义一个实现上述接口的用于计算班级平均成绩的类。
(4)在主类中通过接口回调分别计算并输出体操选手和班级的成绩

2、有如图所示的接口和类的层次关系图,请编写代码实现这些接口和类,并在测试类中创建类对象,调用方法输出相应信息。(参考p151例子3)

程序代码及运行结果:

  • 写回答

2条回答 默认 最新

  • iilmx 2021-11-02 13:13
    关注
    /**
    * 接口
    */
    public interface Base {
        double average();
    }
    
    /**
     * 体操比赛选手
     */
    public class Race implements Base{
        private List<Double> list = new ArrayList<>();  //存放体操比赛选手的集合
        @Override
        public double average() {
            double aver = 0;
            for (int i = 0; i< this.list.size(); i++){
                aver += this.list.get(i);
            }
            return aver / list.size();
        }
    
        public List<Double> getList() {
            return list;
        }
    
        public void setList(List<Double> list) {
            this.list = list;
        }
    }
    
    
    
    /**
     * 班级成绩
     */
    public class Classroom implements Base{
        private List<Double> list = new ArrayList<>();  //存放班级成绩的集合
    
        @Override
        public double average() {
            double aver = 0;
            for (int i = 0; i< this.list.size(); i++){
                aver += this.list.get(i);
            }
            return aver / list.size();
        }
    
        public List<Double> getList() {
            return list;
        }
    
        public void setList(List<Double> list) {
            this.list = list;
        }
    }
    
    
    
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * 测试类
     */
    public class TestMain {
        public static void main(String[] args) {
            Race race = new Race();
            List list1 = new ArrayList();
            list1.add(9.4);
            list1.add(8.9);
            race.setList(list1);
            System.out.println("体操选手的平均成绩 : " + race.average());
            Classroom classrooom = new Classroom();
            List list2 = new ArrayList();
            list2.add(99.0);
            list2.add(98.0);
            list2.add(87.0);
            classrooom.setList(list2);
            System.out.println("班级的平均成绩 : " + classrooom.average());
        }
    }
    
    
    

    给你个参考,若对你有帮助,请采纳一下哈!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月11日
  • 已采纳回答 11月3日
  • 创建了问题 11月2日

悬赏问题

  • ¥15 最短路径分配法——多路径分配
  • ¥15 SQL server 2022安装程序(英语)无法卸载
  • ¥15 关于#c++#的问题:把一个三位数的素数写在另一个三位数素数的后面
  • ¥15 求一个nao机器人跳舞的程序
  • ¥15 anaconda下载后spyder内无法正常运行
  • ¥20 统计PDF文件指定词语的出现的页码
  • ¥50 分析一个亿级消息接收处理策略的问题?
  • ¥20 uniapp 朋友圈分享单页面自定义操作
  • ¥15 r语言构建二元logistics回归模型及列线图,ROC曲线很奇怪
  • ¥200 关于#matlab#的问题:如图所示的四元二次方程组,想消元消掉A B C D