注意要编写构造函数,使得刚出厂的电视机有合适的属性。
在main函数中,创建一个电视机对象,操纵它(如改频道,改音量).
如何设计一个电视机TV类?电视机有几个属性(状态):开/关机状态,当前频道Channel,当前音量Volume;有几个功能:开/关机,频道加,频道减,音量升,音量降
答案:2 悬赏:0 手机版
解决时间 2021-07-18 20:02
- 提问者网友:我是女神我骄傲
- 2021-07-18 01:51
最佳答案
- 五星知识达人网友:从此江山别
- 2021-07-18 02:32
public class Tv{
private boolean on; private int currentChannel; private int volume;
public Tv(int currentChannel, int volume){
this.currentChannel=currentChannel; this.volume=volume; this.on=true; } public void turnOn(){
this.on=true; } public void turnOff(){
this.on=false; } public int increChannel(){
return ++this.currentChannel; } public int decriChannel(){
return --this.currentChannel; } public int increVolume(){
return ++volume; } public int decreVolume(){
return --volume; } public String toString(){
return on? ("Tv: volume="+volume+" currentChannel="+currentChannel ) : "TV is off"; } public static void main(String[] args){
Tv tv=new Tv(1,10); tv.increVolume(); tv.decreChannel(); System.out.println(tv); }}
private boolean on; private int currentChannel; private int volume;
public Tv(int currentChannel, int volume){
this.currentChannel=currentChannel; this.volume=volume; this.on=true; } public void turnOn(){
this.on=true; } public void turnOff(){
this.on=false; } public int increChannel(){
return ++this.currentChannel; } public int decriChannel(){
return --this.currentChannel; } public int increVolume(){
return ++volume; } public int decreVolume(){
return --volume; } public String toString(){
return on? ("Tv: volume="+volume+" currentChannel="+currentChannel ) : "TV is off"; } public static void main(String[] args){
Tv tv=new Tv(1,10); tv.increVolume(); tv.decreChannel(); System.out.println(tv); }}
全部回答
- 1楼网友:狂恋
- 2021-07-18 02:49
#include<iostream>
using namespace std;
class TV
{
private:
bool state;//存储电视机状态,true为开,false为关
int channel;//存储电视机频道数(0-499)
int volume;//存储电视机的音量(0-100)
public:
//无参构造函数
TV()
{
state=false;
channel=0;
volume=0;
}
//传入频道和音量的构造函数
TV(int x_channel,int x_volume)
{
state=false;
channel=x_channel;
volume=x_volume;
}
//传入状态、频道和音量的构造函数
TV(bool x_state,int x_channel,int x_volume)
{
state=x_state;
channel=x_channel;
volume=x_volume;
}
~TV();
//获取电视机状态、频道和音量
bool getState(){ return state;}
int getChannel(){ return channel;}
int getVolume(){ return volume;}
//开机
void powerOn()
{
if(state)
{
printf("电视机当前状态为开启,请勿重复!\n")
}
else
{
state=true;
printf("电视机已开启!\n");
}
//关机
void powerOff()
{
if(!state)
{
printf("电视机当前状态为关闭,请勿重复!\n")
}
else state=false;
}
//频道加减
void upChannel()
{
if(!state)
{
printf("当前电视为关闭状态,请开机再操作!\n");
return;
}
if (channel==499) channel=0;
else channel++;
printf("当前频道为:%d\n",channel);
}
void downChannel()
{
if(!state)
{
printf("当前电视为关闭状态,请开机再操作!\n");
return;
}
if(channel==0) channel=499;
else channel--;
printf("当前频道为:%d\n",channel);
}
//音量加减
void upVolume()
{
if(!state)
{
printf("当前电视为关闭状态,请开机再操作!\n");
return;
}
if(volume==100) return;
else volume++;
printf("当前音量为:%d\n",volume);
}
void downVolume()
{
if(!state)
{
printf("当前电视为关闭状态,请开机再操作!\n");
return;
}
if(volume==0) return;
else volume--;
printf("当前音量为:%d\n",volume);
}
}
void main()
{
TV tv=TV();
int a;
while(1)
{
printf("\n*******请按序号选择所要的功能*******\n");
printf("1.开机 2.关机\n");
printf("3.下一频道 4.上一频道\n");
printf("5.音量加 6.音量减\n");
printf("0.退出\n");
printf("请选择:\n");
scanf("%d",&a);
swicth(a)
{
case 0:
exit(0);
case 1:
tv.powerOn();
break;
case 2:
tv.powerOff();
break;
case 3:
tv.upChannel();
break;
case 4:
tv.downChannel;
break;
case 5:
tv.upVolume();
break;
case 6:
tv.downVolume();
break;
default:
printf("选择错误!\n");
break;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯