【Java开源代码栏目提醒】:网学会员为广大网友收集整理了,TV_ControlDemo.java,希望对大家有所帮助!
import static java.lang.Math.max; //返回两者之间较大者
import static java.lang.Math.min; //返回两者之间较小者
//定义远程控制接口
interface RemoteControl {
// 返回新的状态:ON 或者 OFF
boolean powerOnOrOff() ;
// 返回声音增加后新的音量值
int soundUp (int increasement) ;
// 返回声音减少后新的音量值
int soundDown (int decreasement) ;
// 静音
void mute () ;
//设置频道并返回设置后的频道
int setChannel (int newChannel) ;
//换台(UP)并返回改变后的频道
int channelUp () ;
// 换台(DOWN)并返回改变后的频道
int channelDown () ;
}
// TV_Control类,用于实现RemoteControl内的抽象方法
class TV_Control implements RemoteControl {
/*
定义成员变量:speace是电视的品牌,screensize是电视的大小,
powerOnOrOff是电视的状态,MIN_SOUND是电视音量的最小值,
MAX_SOUND是电视音量的最大值,sounds是当前音量值,
MIN_CHANNEL是电视的最小英寸,MAX_CHANNEL是电视的最大英寸,
channels是当前频道
*/
private String speace = null ;
private int screensize = 0 ;
private boolean powerOnOrOff = false ;
private int MIN_SOUND = 0 ;
private int MAX_SOUND = 100 ;
private int sounds = MIN_SOUND ;
private int MIN_CHANNEL = 0 ;
private int MAX_CHANNEL = 100 ;
private int channels = MIN_CHANNEL ;
// 创建构造函数,用于构造TV_Control对象
public TV_Control (String speace , int screensize) {
this.speace = speace ;
this.screensize = screensize ;
}
// 开启或者关闭
public boolean powerOnOrOff() {
powerOnOrOff = !powerOnOrOff ;
System.out.println(screensize + " 英寸的 " + speace
+ " 牌彩电 "
+ (powerOnOrOff ? " 打开了 " : " 关闭了 ")) ;
return powerOnOrOff ;
}
// 增加音量
public int soundUp (int increasement) {
// 如果powerOnOrOff == false, 不执行
if(powerOnOrOff == false) {
return 0 ;
}
sounds += increasement ;
/*
返回sounds 和 MIN_SOUND中较小的一个,
处理了sounds大于最大值MAX_SOUND的情况
*/
sounds = min(sounds , MAX_SOUND) ;
System.out.println(screensize + " 英寸的 " + speace
+ " 牌彩电 " + " 声音增加到 " + sounds) ;
return sounds ;
}
// 减小音量
public int soundDown (int decreasement) {
// 如果powerOnOrOff == false, 不执行
if (powerOnOrOff == false) {
return 0 ;
}
sounds -= decreasement ;
/*
返回sounds 和 MIN_SOUND中较大的一个,
处理了sounds小于最小值MIN_SOUND的情况
*/
sounds = max(sounds , MIN_SOUND) ;
System.out.println(screensize + " 英寸的 " + speace
+ " 牌彩电 " + " 声音减小到 " + sounds) ;
return sounds ;
}
//静音,设置音量为最小
public void mute () {
// 如果powerOnOrOff == false, 不执行
if (powerOnOrOff == false) {
return ;
}
sounds = MIN_SOUND ;
System.out.println(screensize + " 英寸的 " + speace
+ " 牌彩电 " + " 声音为: " + sounds) ;
}
//设置频道,选择自己喜欢的节目
public int setChannel (int newChannel) {
// 如果powerOnOrOff == false, 不执行
if(powerOnOrOff == false) {
return 0 ;
}
// 频道切换必须在最大值与最小值之间
if (newChannel >= MIN_CHANNEL && newChannel <= MAX_CHANNEL) {
channels = newChannel ;
}
System.out.println(screensize + " 英寸的 " + speace + " 牌彩电 "
+ " 调频到 " + channels + " 台 ") ;
return channels ;
}
// 换台(UP),
public int channelUp () {
// 如果powerOnOrOff == false, 不执行
if (powerOnOrOff == false) {
return 0 ;
}
// 频道切换必须在最大值与最小值之间
channels = channels < MAX_CHANNEL ? ++channels : MIN_CHANNEL ;
System.out.println(screensize + " 英寸的 " + speace + " 牌彩电 "
+ " 调频到 " + channels + " 台 ") ;
return channels ;
}
// 换台(DOWN)
public int channelDown () {
//如果powerOnOrOff == false, 不执行
if (powerOnOrOff == false) {
return 0 ;
}
// 频道切换必须在最大值与最小值之间
channels = channels > MIN_CHANNEL ? --channels : MAX_CHANNEL ;
System.out.println(screensize + " 英寸的 " + speace + " 牌彩电 "
+ " 调频到 " + channels + " 台 ") ;
return channels ;
}
}
//定义主类:TV_ControlDemo
public class TV_ControlDemo {
public static void main (String[] args) {
/*
调用构造方法TV_Control (String speace , int screensize)
构造出TV_Control的对象tv
*/
TV_Control tv = new TV_Control("caihong" , 29) ;
/*
调用被TV_Control类实现了的接口RemoteControl中的
方法powerOnOrOff(),打开电视
*/
tv.powerOnOrOff() ;
/*
调用被TV_Control类实现了的接口RemoteControl中的
方法setChannel(),设置频道为26
*/
tv.setChannel(26) ;
/*
调用被TV_Control类实现了的接口RemoteControl中的
方法channelUp(),收台(UP)
*/
tv.channelUp() ;
/*
调用被TV_Control类实现了的接口RemoteControl中的
方法channelDown(