Java第九次作业

接口:

package org.jsoft.Hw;

public interface MediaPlayer {
    public void play();
    public void stop();
    public void open();
}
 

子类:

//CD播放器

package org.jsoft.Hw;

public class CDPlayer implements MediaPlayer{

    @Override
    public void play() {
        // TODO Auto-generated method stub
        System.out.println("CD播放器播放");
    }

    @Override
    public void stop() {
        // TODO Auto-generated method stub
        System.out.println("CD播放器停止");
    }

    @Override
    public void open() {
        // TODO Auto-generated method stub
        System.out.println("CD播放器开仓");
    }

}

//DVD播放器

package org.jsoft.Hw;

public class DVDPlayer implements MediaPlayer{

    @Override
    public void play() {
        // TODO Auto-generated method stub
        System.out.println("DVD播放器播放");
    }

    @Override
    public void stop() {
        // TODO Auto-generated method stub
        System.out.println("DVD播放器停止");
    }

    @Override
    public void open() {
        // TODO Auto-generated method stub
        System.out.println("DVD播放器开仓");
    }

}
 

//录音机

package org.jsoft.Hw;

public class TapePlayer implements MediaPlayer{

    @Override
    public void play() {
        // TODO Auto-generated method stub
        System.out.println("录音机播放");
    }

    @Override
    public void stop() {
        // TODO Auto-generated method stub
        System.out.println("录音机停止");
    }

    @Override
    public void open() {
        // TODO Auto-generated method stub
        System.out.println("录音机开仓");
    }    
    
}    
//控制器

package org.jsoft.Hw;

public class Controller { 
        private MediaPlayer[] players; 
        public MediaPlayer[] getPlayers() {
            return players;
        }
        public void setPlayers(MediaPlayer[] players) {
            this.players = players;
        }
        public Controller(){ 
            MediaPlayer c=new CDPlayer();
            MediaPlayer d=new DVDPlayer();
            MediaPlayer t=new TapePlayer();
            this.players=new MediaPlayer[3];
            this.players[0]=c;
            this.players[1]=d;
            this.players[2]=t;
        }
        //构造函数中初始化 players 数组  
        //对相应的设备调用 play 方法 
        public void play(int i){ 
            players[i].play(); 
        }
        public void stop(int i){
            players[i].stop();
        }
        public void open(int i){
            players[i].open();
        }
        /*要求: 
        1) 完成 MediaPlayer 接口及其子类的代码。 
        2) 把 Controller 补充完整,完善其构造函数,并为其增加 stop(int i)和
        open(int i)方法*/
}
 

简单测试主函数:

package org.jsoft.Hw;

import java.util.Scanner;

public class TestMp {
public static void main(String[] args) {
    Controller c=new Controller();
    Scanner input=new Scanner(System.in);
    System.out.println("请选择控制器要控制的通道:(0表示CD播放器,1表示DVD播放器,2表示录音机)");
    int i=input.nextInt();
    c.open(i);
    c.play(i);
    c.stop(i);
}
}
 

执行截图:

093221_Qf28_3715361.png

093236_fF7A_3715361.png

093246_mFLr_3715361.png

以上是第九次作业。

转载于:https://my.oschina.net/u/3715361/blog/1574283

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值