使用java编写一个程序,在IntelliJ IDEA的环境下,实现以下条件:(1) 定义一个电视机类;(2) 每台电视机都是一个对象,每个对象都有的状态: 电源开或关、当前频道、当前音量: (假设频道数1-200,音量0-100)(3) 每个对象都有的动作: 打开频道、关闭频道、转换频道(包括频道加减)、调节音量; (4) 为该类定义无参和有参的构造方法; (5) 写一个测试类,在其maim()方法中创建一个电视机类对象,并测试其成员方法,输出相应的状态。
时间: 2023-06-13 19:05:03 浏览: 94
下面是实现以上条件的Java程序:
电视机类:
```java
public class Television {
private boolean powerStatus; // 电源开关状态
private int currentChannel; // 当前频道
private int currentVolume; // 当前音量
// 无参构造方法
public Television() {
this.powerStatus = false; // 默认关闭电源
this.currentChannel = 1; // 频道默认为1
this.currentVolume = 50; // 音量默认为50
}
// 有参构造方法
public Television(boolean powerStatus, int currentChannel, int currentVolume) {
this.powerStatus = powerStatus;
this.currentChannel = currentChannel;
this.currentVolume = currentVolume;
}
// 打开电源
public void powerOn() {
this.powerStatus = true;
System.out.println("电视已开机");
}
// 关闭电源
public void powerOff() {
this.powerStatus = false;
System.out.println("电视已关机");
}
// 打开指定频道
public void openChannel(int channel) {
if (this.powerStatus && channel >= 1 && channel <= 200) {
this.currentChannel = channel;
System.out.println("已切换至频道" + channel);
} else {
System.out.println("电视未开机或频道无效");
}
}
// 关闭当前频道
public void closeChannel() {
if (this.powerStatus) {
System.out.println("已关闭当前频道");
} else {
System.out.println("电视未开机");
}
}
// 转换频道(上一个/下一个)
public void switchChannel(boolean isNext) {
if (this.powerStatus) {
if (isNext) {
if (this.currentChannel < 200) {
this.currentChannel++;
} else {
this.currentChannel = 1;
}
} else {
if (this.currentChannel > 1) {
this.currentChannel--;
} else {
this.currentChannel = 200;
}
}
System.out.println("已切换至频道" + this.currentChannel);
} else {
System.out.println("电视未开机");
}
}
// 调节音量(加/减)
public void adjustVolume(boolean isIncrease) {
if (this.powerStatus) {
if (isIncrease) {
if (this.currentVolume < 100) {
this.currentVolume++;
}
} else {
if (this.currentVolume > 0) {
this.currentVolume--;
}
}
System.out.println("当前音量:" + this.currentVolume);
} else {
System.out.println("电视未开机");
}
}
// 获取电源状态
public boolean getPowerStatus() {
return powerStatus;
}
// 获取当前频道
public int getCurrentChannel() {
return currentChannel;
}
// 获取当前音量
public int getCurrentVolume() {
return currentVolume;
}
}
```
测试类:
```java
public class TestTelevision {
public static void main(String[] args) {
Television tv = new Television(); // 创建一个电视机类对象
tv.powerOn(); // 打开电源
tv.openChannel(10); // 打开频道10
tv.switchChannel(true); // 切换到下一个频道
tv.adjustVolume(true); // 调高音量
tv.adjustVolume(true); // 调高音量
tv.adjustVolume(false); // 调低音量
tv.closeChannel(); // 关闭当前频道
tv.powerOff(); // 关闭电源
}
}
```
运行程序,输出结果如下:
```
电视已开机
已切换至频道10
已切换至频道11
当前音量:51
当前音量:52
当前音量:51
已关闭当前频道
电视已关机
```
阅读全文