作业:
结果:
代码部分:
MediaPlayer接口:
package org.jsoft.zuoye;
public interface MediaPlayer {
//三个功能
void play();//播放
void shop();//停止
void open();//开仓
}
DVDPlayer类:
package org.jsoft.zuoye;
public class DVDPlayer implements MediaPlayer {//DVD播放器
@Override
//重写play方法
public void play() {
System.out.println("DVD播放");
}
@Override
//重写shop方法
public void shop() {
System.out.println("DVD停止");
}
@Override
//重写open方法
public void open() {
System.out.println("DVD开仓");
}
}
CDPlayer类:
package org.jsoft.zuoye;
public class CDPlayer implements MediaPlayer {//CD播放器
@Override
//重写play方法
public void play() {
System.out.println("CD播放");
}
@Override
//重写shop方法
public void shop() {
System.out.println("CD停止");
}
@Override
//重写open方法
public void open() {
System.out.println("CD开仓");
}
}
TapePlayer类:
package org.jsoft.zuoye;
public class TapePlayer implements MediaPlayer {//录音机
@Override
//重写play方法
public void play() {
System.out.println("录音机播放");
}
@Override
//重写shop方法
public void shop() {
System.out.println("录音机停止");
}
@Override
//重写open方法
public void open() {
System.out.println("录音机开仓");
}
}
Controller类:
package org.jsoft.zuoye;
import java.util.Scanner;
public class Controller {//遥控器
private MediaPlayer[] players; //声明一个数组players
public Controller(){
//构造函数中初始化 players 数组
players = new MediaPlayer[3];//初始化数组
players[0] = new DVDPlayer(); //0表示操作dvd
players[1] = new CDPlayer(); //1表示操作cd
players[2] = new TapePlayer(); //2表示操作tape
}
//对相应的设备调用 play 方法
public void play(int i){
players[i].play();
}
public void shop(int i){
players[i].shop();
}
public void opens(int i){
players[i].open();
}
public static void main(String[] args) {
System.out.println("请选择你想用的播放器的编号:");
System.out.println("0:DVD 1:CD 2:录音机(磁带)");
Scanner sc = new Scanner(System.in);//键盘输入
int i = sc.nextInt(); //i接收
Controller c = new Controller(); //创建遥控器
if(i==0){
System.out.println("选择操作:");
System.out.println("1:播放 2:停止 3:开仓");
int j = sc.nextInt();
if(j==1){
c.play(i);
}else if(j==2){
c.shop(i);
}else if(j==3){
c.opens(i);
}else{
System.out.println("操作错误");
}
}else if(i==1){
System.out.println("选择操作:");
System.out.println("1:播放 2:停止 3:开仓");
int j = sc.nextInt();
if(j==1){
c.play(i);
}else if(j==2){
c.shop(i);
}else if(j==3){
c.opens(i);
}else{
System.out.println("操作错误");
}
}else if(i==2){
System.out.println("选择操作:");
System.out.println("1:播放 2:停止 3:开仓");
int j = sc.nextInt();
if(j==1){
c.play(i);
}else if(j==2){
c.shop(i);
}else if(j==3){
c.opens(i);
}else{
System.out.println("操作错误");
}
}else{
System.out.println("操作错误");
}
}
}