Java实验六 接口与实现

这篇具有很好参考价值的文章主要介绍了Java实验六 接口与实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实验6.1  评价成绩

【实验要求】体操比赛计算选手成绩的办法是去掉一个最高分和最低分后再计算平均分,而学校考查一个班级的某科目的考试情况时,是计算全班同学的平均成绩。

【实验步骤】

Java实验六 接口与实现

 文章来源地址https://www.toymoban.com/news/detail-472664.html

Estimator.java

interface CompurerAverage {

    public double average(double x[]);

}

class Gymnastics implements CompurerAverage {

    public double average(double x[]) {

        int count=x.length;

        double aver=0,temp=0;

        for(int i=0;i<count;i++) {

            for(int j=i;j<count;j++) {

                if(x[j]<x[i]) {

                    temp=x[j];

                    x[j]=x[i];

                    x[i]=temp;

                }

            }

        }

        for(int i=1;i<count-1;i++) {

            aver=aver+x[i];

        }

        if(count>2)

            aver=aver/(count-2);

        else

            aver=0;

        return aver;

    }

}

class School implements CompurerAverage {

   //重写public double average(double x[])方法,返回数组x[]的元素的算术平均

    public double average(double[] x){

        int count=x.length;

        double aver=0;

        for(int i=0;i<count;i++){

            aver=aver+x[i];

        }

        aver=aver/count;

        return aver;

    }

}

public class Estimator{

    public static void main(String args[]) {

        double a[] = {9.89,9.88,9.99,9.12,9.69,9.76,8.97};

        double b[] ={89,56,78,90,100,77,56,45,36,79,98};

        CompurerAverage computer;

        computer=new Gymnastics();

        double result=computer .average(a);//computer调用average(double x[])方法,将数组a传递给参数x

        System.out.printf("%n");

        System.out.printf("体操选手最后得分:%5.3f\n",result);

        computer=new School();

        result=computer .average(b); //computer调用average(double x[])方法,将数组b传递给参数x

        System.out.printf("班级考试平均分数:%-5.2f",result);

    }

}

运行结果:

Java实验六 接口与实现实验6.2 货车的装载量

 

【实验要求】 货车要装载一批货物,货物由三种商品组成:电视、计算机和洗衣机。卡车需要计算出整批货物的重量。

【实验步骤】

Java实验六 接口与实现

 

Java实验六 接口与实现

 

CheckCarWeight.java

interface ComputerWeight {

    public double computeWeight();

}

class Television implements ComputerWeight {

    public double computeWeight(){

        return 3.5;

    } //重写computeWeight()方法,返回自重值3.5。

}

class Computer implements ComputerWeight {

    public double computeWeight(){

        return 2.67;

    } //重写computeWeight()方法,返回自重值2.67。

}

class WashMachine implements ComputerWeight {

    public double computeWeight(){

        return 13.8;

    } //重写computeWeight()方法,返回自重值13.8。

}

class Truck {

    ComputerWeight [] goods;    //数组元素分别存放几个实现类的对象的引用

    double totalWeights=0;

    Truck(ComputerWeight[] goods) {

        this.goods=goods;

    }

    public void setGoods(ComputerWeight[] goods) {

        this.goods=goods;

    }

    public double getTotalWeights() {

        totalWeights=0;

        for(int i=0;i<goods.length;i++){

            totalWeights+=goods[i].computeWeight();

        } //计算totalWeights

        return totalWeights;

    }

}

public class CheckCarWeight {

    public static void main(String args[]) {

        ComputerWeight[] goods=new ComputerWeight[650]; //650件货物

        for(int i=0;i<goods.length;i++) {    //简单分成三类

            if(i%3==0)

                goods[i]=new Television();

            else if(i%3==1)

                goods[i]=new Computer();

            else if(i%3==2)

                goods[i]=new WashMachine();

        }

        Truck truck=new Truck(goods);

        System.out.printf("\n货车装载的货物重量:%-8.5f kg\n",truck.getTotalWeights());

        goods=new ComputerWeight[68];   //68件货物

        for(int i=0;i<goods.length;i++) {    //简单分成两类

            if(i%2==0)

                goods[i]=new Television();

            else

                goods[i]=new WashMachine();

        }

        truck.setGoods(goods);

        System.out.printf("货车装载的货物重量:%-8.5f kg\n",truck.getTotalWeights());

    }

}

运行结果:

Java实验六 接口与实现

 

实验6.3 小狗的状态

【实验要求】小狗在不同环境条件下可能呈现不同的状态表现,要求用接口封装小狗的状态。具体要求如下。

【实验步骤】

Java实验六 接口与实现

 

Java实验六 接口与实现

 

CheckDogState.java

interface DogState {

    public void showState();

}

class SoftlyState implements DogState {

    public void showState() {

        System.out.println("听主人的命令");

    }

}

class MeetEnemyState implements DogState {

    public void showState(){

        System.out.println("狂叫,并冲向去很咬敌人");

    }  //重写showState()方法,输出"狂叫,并冲向去很咬敌人"

}

class MeetFriendState implements DogState {

    public void showState(){

        System.out.println("晃动尾巴,表示欢迎");

    }   //重写showState()方法,输出"晃动尾巴,表示欢迎"

}

class MeetAnotherDog implements DogState {

    public void showState(){

        System.out.println("嬉戏");

    }   //重写showState()方法,输出"嬉戏"

}

class Dog {

    DogState state;

    public void show() {

        state.showState();    //接口state回调showState()方法。

    }

    public void setState(DogState s) {

        state = s;

    }

}

public class CheckDogState {

    public static void main(String args[]) {

        Dog yellowDog =new Dog();

        System.out.print("狗在主人面前:");

        yellowDog.setState(new SoftlyState());

        yellowDog.show();

        System.out.print("狗遇到敌人:");

        yellowDog.setState(new MeetEnemyState());

        yellowDog.show();

        System.out.print("狗遇到朋友:");

        yellowDog.setState(new MeetFriendState());

        yellowDog.show();

        System.out.print("狗遇到同伴:");

        yellowDog.setState(new MeetAnotherDog());

        yellowDog.show();

    }

}

运行结果:

Java实验六 接口与实现

 

到了这里,关于Java实验六 接口与实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Java】学生成绩管理系统(图形化界面实现相关功能)

    从功能的代码实现到界面的展示整个制作过程全部用Java语言实现。         1、在idea创建一个工程文件,在工程文件下创建一个model模块,在model模块下载创建三个package包分别用来存放(BackEndCode)后端代码包、(MainExe)主程序包、(WebCode)界面实现代码包,再在三个包中创建如

    2024年02月03日
    浏览(47)
  • Java面向对象程序设计实验报告(实验五 接口的练习)

    ✨ 作者:命运之光  ✨ 专栏: Java面向对象程序设计实验报告 ​ 目录 ✨一、需求设计 ✨二、概要设计 ✨三、详细设计 ✨四、调试结果 ✨五、测试结果 ✨附录:源程序代码(带注释) demo5类 Instrument类 Piano类 play类 Student类 Teacher类 Violin类 work类  实验五 接口的练习 实验

    2024年02月06日
    浏览(44)
  • 基于Java SSM框架实现体育竞赛成绩管理系统项目【项目源码+论文说明】

    基于java的SSM框架实现体育竞赛成绩管理系统演示 体育竞赛是各种体育体育项目比赛的总称。是在裁判员的主持下,按统一的规则要求,组织与实施的体育员个体或体育队之间的竞技较量,是竞技体育与社会发生关联,并作用于社会的媒介,随着网络市场的不断成熟,带动了

    2024年01月22日
    浏览(64)
  • 查找和排序算法的学生成绩分析实验

    编写程序将自己学号后面的8位同学的学号、姓名以及数学、英语和数据结构的成绩信息保存到学生成绩表中。 学号 姓名 数学 英语 数据结构 189000202 张三 80 75 86 189000203 李四 55 63 72 189000204 王一 88 75 85 189000205 王二 79 96 83 189000206 王三 87 45 77 189000207 王四 66 56 50 189000208 王五

    2024年02月11日
    浏览(49)
  • 基于Java高校校园学生成绩管理系统的设计与实现(Springboot框架) 参考文献

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、

    2024年01月17日
    浏览(64)
  • 女子体操基本规则与动作分类详解

    了解女子体操的基本规则,包括分数构成、动作难度计算方法,以及舞蹈动作和技巧动作的分类与描述。详细解读体操比赛中的评分标准和动作要求。

    2023年04月11日
    浏览(57)
  • 以太坊智能合约开发(五):Solidity成绩录入智能合约实验

    每个学生分别部署合约Student.sol ,保证只有自己可以修改姓名。老师部署合约StudentScore.sol,用于录入学生成绩,查询学生信息。查询学生信息时,需要调用学生部署的合约Student.sol。 student.sol合约,用于学生对自己信息进行管理。 学生的基本信息作为状态变量: 声明构造函

    2024年02月07日
    浏览(48)
  • Ensp添加端口,来满足实验要求

      在实验文档中,会出现S1/0/0  S2/0/0 S3/0/0 S4/0/0 G2/0/0 G3/0/0 G4/0/0 ,但在手动连线到设备 没有出现对应的端口,我们要手动添加端口,来跟进实验需求。 举例在路由器AR2220路由器上,拖进实验区域——右击——设置—— 1、可以看到eNSP支持的接口卡-下滑可以用更多  1GEC:描述

    2024年02月08日
    浏览(69)
  • 超纯试剂纯化研发实验室建设要求分析

    超纯试剂通常是指用于药品研发和生产的高纯度化学试剂,这些试剂的纯度和质量对药品的安全性和有效性具有重要影响。超纯试剂纯化研发实验室主要是研究和开发新的超纯试剂及其制备方法,以确保其符合医药领域对试剂质量的要求。这些实验室通常配备有先进的设备和

    2024年02月05日
    浏览(45)
  • 单臂路由实验:通过Trunk和子接口实现VLAN互通

    摘要: 本文介绍了通过单臂路由实现不同VLAN间的三层互通的实验步骤和解法。实验中的目标是配置两个PC,分别属于不同的VLAN,并通过单臂路由使得这两个VLAN之间能够互通。文章详细说明了实验拓扑结构,包括PC3和PC4分别属于Vlan10和Vlan20,以及网络设备的配置。接着,文章

    2024年02月09日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包