迷你项目练习题3遥控器播放CD DVD Tape

极智量化平台实战:5分钟教你用Python实现双均线交易策略(附完整代码) 本文详细介绍了如何在极智量化平台上使用Python实现双均线交易策略,包括数据获取、信号生成、回测分析和策略优化。通过完整的代码示例和实战演示,帮助开发者快速掌握量化交易系统的基本原理和应用方法,实现自动化交易。 阅读详情

题目

定义一个接口 MediaPlayer,表示家庭影院的一个设备。MediaPlayer 中
包含 play(),stop(), open()三个方法,分别表示播放、停止和开仓功能。
MediaPlayer 有三个实现类,分别为:DVDPlayer,表示 DVD 播放器;CDPlayer,
表示 CD 播放器;TapePlayer,表示录音机(播放磁带)。
类图如下:
在这里插入图片描述

创建一个遥控器 Controller 类。该遥控器有三个控制通道,可以分别控制三个
设备。部分代码如下:
class Controller{
private MediaPlayer[] players;
public Controller(){
//构造函数中初始化 players 数组
}
//对相应的设备调用 play 方法
public void play(int i){
players[i].play();
}
}
要求:

  1. 完成 MediaPlayer 接口及其子类的代码。
  2. 把 Controller 补充完整,完善其构造函数,并为其增加 stop(int i)和
    open(int i)方法

代码展示

接口MediaPlayer

public interface MediaPlayer {
     //播放 停止 开仓
    void play();
    void stop();
    void open();
}

TapePlayer类

public class TapePlayer implements MediaPlayer{
    @Override
    public void play() {
        System.out.println("Tape开始播放");
    }

    @Override
    public void stop() {
        System.out.println("Tape停止播放");
    }

    @Override
    public void open() {
        System.out.println("Tape开仓");
    }
}

DVDPlayer类

public class DVDPlayer implements MediaPlayer{
    @Override
    public void play() {
        System.out.println("DVD开始播放");
    }

    @Override
    public void stop() {
        System.out.println("DVD停止播放");
    }

    @Override
    public void open() {
        System.out.println("DVD开仓");
    }
}

CDPlayer类

public class CDPlayer implements MediaPlayer{
    @Override
    public void play() {
        System.out.println("CD开始播放");
    }

    @Override
    public void stop() {
        System.out.println("CD停止播放");
    }

    @Override
    public void open() {
        System.out.println("CD开仓");
    }
}

Controller类

public class Controller {
        private MediaPlayer[] players;
        //在Controller构造方法中初始化数组,添加三个元素
        public Controller(){
            players =new MediaPlayer[] {new TapePlayer(),new DVDPlayer(),new CDPlayer()};
        }

        public void play(int i){
            players[i].play();
        }
        public void stop(int i){
            players[i].stop();
        }
        public void open(int i){
            players[i].open();
        }
}

Test类

public class Test {
    public static void main(String[] args) {
        Controller controller = new Controller();
        controller.open(0);
        controller.play(0);
        controller.stop(0);

        controller.open(1);
        controller.play(1);
        controller.stop(1);

        controller.open(2);
        controller.play(2);
        controller.stop(2);
    }
}

程序运行结果

在这里插入图片描述

用 XCO_CP_XLSX 在 ABAP 中写 Excel:从写入访问到样式控制的完整指南 本文介绍了在 ABAP 环境中使用 XCO_CP_XLSX 模块导出 Excel 报表的完整实践方案。文章从获取写入访问权限开始,详细讲解了基于 row_stream 的批量数据写入和基于 cursor 的精细控制两种方法,并提供了创建新文档、添加工作表、设置样式等关键操作示例。通过分层抽象的工作簿-工作表-单元格模型,开发者可以灵活应对企业应用中常见的报表导出需求,特别是在 SAP BTP 和 S/4HANA Cloud 环境下实现高效可靠的 Excel 文件生成与处理。 阅读详情

相关推荐

09、Flutter FFI Dart Native API

本文介绍了 Dart Native API 的基本用法,解决了 Dart 与 C 异步通讯的问题

eieihihi的专栏 4401

java——20171117

创建一个遥控器 Controller 类。该遥控器有三个控制通道,可以分别控制三个 设备。部分代码如下: classController{ private MediaPlayer[] players; public Controller(){ //构造函数中初始化players...

chifu6158的博客 183

避坑指南:企业微信IP白名单设置失败的5种常见原因及解决方案

本文深入解析企业微信API调用中IP白名单设置失败的5种常见原因,包括动态公网IP变更、代理服务器导致的IP失真等,并提供针对性的解决方案。特别针对可信IP配置问题,详细介绍了诊断方法和Java代码示例,帮助企业开发者快速解决访问限制问题,确保API调用安全稳定。

weixin_29280657的博客 619

java_1115

定义一个接口 MediaPlayer,表示家庭影院的一个设备。MediaPlayer 中 包含 play(),stop(), open()三个方法,分别表示播放、停止和开仓功能。 MediaPlayer 有三个实现类,分别为: DVDPlayer,表示 DVD 播放器; CDPlayer, ...

chumuzhi8647的博客 225

基于Java+SpringBoot+Vue的中小企业设备管理系统的设计与开发(源码+lw+部署文档+讲解等)

💗博主介绍:✌新人博主,工作经验两年+、专注于Java、小程序技术领域和毕业项目实战✌💗🌟文末获取源码+数据库🌟

2301_76502068的博客 1384

ESP32小车DIY:从零搭建无线遥控智能车(附完整代码与避坑指南)

本文详细介绍了如何从零开始DIY一台基于ESP32的无线遥控智能小车。内容涵盖核心硬件选型、电路设计、低延迟ESP-NOW无线通信协议的配置与实战,以及双电机差速控制算法与PWM调速的实现。文章提供了完整的代码示例和关键的避坑指南,旨在帮助开发者快速构建稳定可靠的智能车平台,并为进一步的功能扩展奠定基础。

gamma的博客 471

接口,封装练习

这个题大多数初学者应该都会遇见: 定义一个接口MediaPlayer,表示家庭影院的一个设备。MediaPlayer 中包含play(),stop(), open()三个方法,分别表示播放、停止和开仓功能。 MediaPlayer 有三个实现类,分别为:DVDPlayer,表示DVD 播放器;CDPlayer,表示CD 播放器;TapePlayer,表示录音机(播放磁带)。类图如下: 创建一个遥控器Controller 类。该遥控器有三个控制通道,可以分别控制三个设备。部分代码如下: clas.

ML20200908的博客 413

第 5 篇:责任链模式 (Chain of Responsibility) —— 协议栈的流水线

本文介绍了责任链模式在嵌入式通信协议解析中的应用。针对传统"面条式"代码维护困难的问题,提出将各协议解析器解耦为独立处理单元,通过链表形式串联。文章详细展示了模式实现:定义抽象处理者接口、实现具体协议处理器、构建链表管理器。该方案具有内存占用低(O(1)栈空间)、可动态扩展、支持优先级调整等优势,并探讨了性能优化策略及动态插件系统等扩展应用,为嵌入式通信协议处理提供了清晰的架构方案。

一路往蓝-Anbo 的博客 179

大数据预科班作业8

大数据预科班作业8(一二套) (第一套) 1. (static 属性)有如下代码 class MyClass{ static int a; int b; } public class TestMain{ public static void main(String args[]){ MyClass mc1 = new MyClass(); MyClass mc2 = new MyClas

菜鸟零号 kungfu~peng 7330

RFC 字符码转换深度解析:Unicode、非 Unicode 与 MDMP 系统的协奏

老版本 MDMP 系统不上传自定义映射时,Unicode 端会落回“预配置列表”。列表里可见西欧 1100、日文 8000、中文 8400 等经典编号。若需强制覆写映射,可在 SM59 ➡Unicode页签启用,或直接勾选作为兜底。字符编码问题常“潜伏”多年,一旦旧系统升级或新增语种便集中爆发。掌握 RFC code page 转换机理、灵活运用 SM59 选项、在早期对 LANG 字段和字段长度进行治理,是根治乱码与 short dump 的关键。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 225

Linkage Mapper 输出文件夹结构解析——LCPs(栅格廊道)、LinkagePaths(矢量廊道)、Nodes(节点)

Linkage Mapper输出文件解析摘要 Linkage Mapper是生态连通性分析的重要工具,通过最小累积阻力模型(MCR)识别物种迁移廊道。其输出包含三类核心文件: LCPs(栅格廊道):存储累积阻力值的栅格数据,直观展示低阻力路径,适用于空间分析和廊道质量评估。 LinkagePaths(矢量廊道):以矢量线状要素精确记录廊道位置和走向,便于地图可视化及连通性分析。 Nodes(节点):标记廊道关键点(起点/终点/交汇点),为保护策略制定提供依据。 典型应用场景包括: 山地物种(如大熊猫)栖息地

走向CTO的路上... 1334

练习题

一些常见的面试题

Hello World ! 2970

微信终于支持“多设备同时在线”?我用 NAS + Docker 搭了一个云端微信系统,多端共享24小时在线

通过Docker 容器,将微信运行在云端并通过浏览器访问,实现多设备共享同一微信会话 📱。本文详细介绍完整部署流程、docker-compose 配置及资源控制方案,让微信变成“可访问的云桌面应用” ✨

XiaoqiangClub的博客 875

吉软-人文精英班-第八次作业

定义一个接口 MediaPlayer,表示家庭影院的一个设备。MediaPlayer 中 包含 play(),stop(), open()三个方法,分别表示播放、停止和开仓功能。 MediaPlayer 有三个实现类,分别为: DVDPlayer,表示 DVD 播放器; CDPlayer,表示...

222

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

java chp接口对象练习题1

** *定义一个接口MediaPlayer,表示家庭影院的一个设备。MediaPlayer中包含play(),stop(), open()三个方法,分别表示播放、停止和开仓功能。 MediaPlayer 有三个实现类,分别为:DVDPlayer,表示 DVD 播放器;CDPlayer,表示 CD 播放器;TapePlayer,表示录音机(播放磁带)。 ** 创建一个遥控器 Controller 类...

casey_xiaoxin的博客 626

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

0602接口

定义一个接口 MediaPlayer,表示家庭影院的一个设备。MediaPlayer 中 包含 play(),stop(), open()三个方法,分别表示播放、停止和开仓功能。 MediaPlayer 有三个实现类,分别为: DVDPlayer,表示 DVD 播放器; CDPlayer,...

230

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

迷你项目练习题4用户登录与用户注册(异常处理)

题目 (自定义异常)完成某个计费系统的用户登录和注册模块,要求如下: 1) 创建一个 User 类,包括:用户登录名(username)、密码(password)、用户真实姓名(name)、电子邮件地址(email)属性和相应的构造方法及 set/get 方法。 2) 创建两个自定义异常类,一个 LoginException,表示登录异常。一个 RegisterException, 表示注册异常。自定义的两个异常,都要求有一个接受字符串类型参数的构造方法。 3) 创建一个 UserBiz 接口,该接口中定

hypertext123的博客 1097

JavaSEDemo05

文章目录void方法中使用return语句的情况 void方法中使用return语句的情况

hypertext123的博客 605

JavaSE常见错题整理

文章目录条件分支 条件分支 对于switch/case语句以下说法正确的有。 A、default语句是可选的,但是如果出现default则必须位于所有的case后面 B、case子句后面的值必须是常量,且不可重复 C、switch后面的表达式的值如果是数值型,则必须是可精确匹配的整数值,如int\long,而不能是浮点数 D、case后面的break是必选的,不能省略break 正确答案:B选项 错误分析: A选项,default语句可以不放在所有的case后面 C选项,switch/case不支持lon

hypertext123的博客 602

简单的方法递归题

文章目录题目1:卖鸭子题目2:不死神兔 题目1:卖鸭子 一个人赶着鸭子去每个村庄卖,每经过一个村子卖去所赶鸭子的一半又一只。这样他经过了七个村子后还剩两只鸭子,问他出发时共赶多少只鸭子?经过每个村子卖出多少只鸭子? 解题思路:用数学思想解决此类问题比较简单。此题是知道还剩下多少鸭子,不知道一开始有多少鸭子,为知尾不知头的类型。所以我们要寻找F(n)与F(n+m)的规律,m是题中数据发生显著变化的间隔,本题m=1,因为每经过1个村子,数据就会发生变化。 设一个函数F(n),F为经过n个村子后鸭子的数量,n为

hypertext123的博客 596

JavaSEDemo32IO流与网络编程

文章目录简介易错练习练习1练习2练习3练习4练习5文件知识点复习什么是文件FileFile最常用的方法FilenameFilter 过滤某一个文件夹下的所有以xxx结尾或者开头或者包含的文件列表路径IO流流的概念流的分类字节流字符流 简介 易错练习 练习1 以下说法正确的是?【单项选择题题】【简单】 A.RandomAccessFile类是File类的子类 B.FileWriter类提供有操作基本数据类型的方法 C.RandomAccessFile类提供有删除磁盘文件的方法 D.File类提供有删除磁盘文件

hypertext123的博客 579

JavasSEDemo31IO流

文章目录简介易错练习题练习1 简介 本文是2021/04/29整理的笔记 赘述可能有点多,还请各位朋友耐心阅读 本人的内容和答案不一定是最好最正确的,欢迎各位朋友评论区指正改进 易错练习题 练习1 byte b = 127; System.out.println(-b); 选择程序运行结果 A、-127 B、0 C、-128 D、运行错误 答案 A ...

hypertext123的博客 557

JavaSEDemo07

文章目录简介(多态)写一个函数,接受一个图形作为参数,打印出该图形的周长和面积题目分析代码示例Shape类Triangle类Circle类Square类Rectangle类ShapeTest类程序运行结果 简介 本文是2021/03/29整理的笔记 赘述可能有点多,还请各位朋友耐心阅读 本人的内容和答案不一定是最好最正确的,欢迎各位朋友评论区指正改进。 (多态)写一个函数,接受一个图形作为参数,打印出该图形的周长和面积 (1)父类图形Shape类 (2)子类三角形Triangel类 (3)子类圆形Ci

hypertext123的博客 518

JavaSEDemo25Map

文章目录简介练习题练习1练习2练习3练习4练习5练习6练习7练习8练习9 简介 本文是2021/04/24整理的笔记 赘述可能有点多,还请各位朋友耐心阅读 本人的内容和答案不一定是最好最正确的,欢迎各位朋友评论区指正改进 练习题 练习1 以下代码的执行结果是?【单项选择题】【简单】 public class Example { public static void main(String[] args) { TreeSet<String> t = new TreeSet<Str

hypertext123的博客 466

JavaSEDemo11Lambda表达式与枚举

文章目录简介易错练习题练习题1 代码改错练习题2LambdaLambda表达式 如果方法只有一个参数 可以不写数据类型和( )Lambda表达式 可以不写数据类型,会自动寻找Lambda表达式 没有返回值的方法成员匿名内部类用Lambda省略只有一个抽象方法的接口叫做函数类接口::操作符绑定静态 成员 构造 三种方法静态成员构造枚举switch语句使用枚举枚举类的常用方法枚举的构造方法枚举实现接口枚举中声明抽象方法枚举中重写父类方法,例如toString方法 简介 本文是2021/04/05整理的笔记 赘

hypertext123的博客 455
上一篇: JavaSEDemo10继承与内部类
下一篇: JavaSEDemo11Lambda表达式与枚举
香鱼嫩虾
博客等级 码龄7年 1671粉丝 100原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

香鱼嫩虾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值