最近,我被老师布置做一个文件,制作一个模拟电视的程序。
我应该在调用 raiseVolume 方法时添加音量。但是,在调用它时,音量似乎没有受到任何影响。
我不知道为什么会这样。
(myTv是Tv中构造函数的对象) 这是电视驱动程序类的代码-
System.out.println ("Crank it up!");
int oldVolume = myTv.getVolume();
do {
oldVolume = myTv.getVolume();
myTv.raiseVolume();
} while (myTv.getVolume() != oldVolume);
System.out.println ("\t\tThe TV is " + myTv.getPower() +
" on channel " + myTv.getChannel() +
" at volume " + myTv.getVolume());
System.out.println ("That's a bit too loud");
myTv.lowerVolume();
myTv.lowerVolume();
这是我的电视类代码-
private int volume = 0;
...
//Volume
public int getVolume(){
return volume;
}
public void raiseVolume(){
volume+=5;
}
public void lowerVolume(){
volume-=1;
if (volume > 0){
volume = 0;
}
}
如果您需要其他代码,我会发布! 我以前曾因为将整个类(class)都放在这里而被叫出来,我不想犯同样的错误!
最佳答案
因为当您在 raiseVolume
之后调用 lowerVolume
时:
public void lowerVolume(){
volume-=1;
if (volume > 0){
volume = 0;
}
}
它总是将音量设置为 0,因为此时 volume > 0
(至少 5),您应该将其更改为:
if (volume < 0){
volume = 0;
}
关于Java-程序中的整数未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28102656/