Refactor Radio class constructor and volume control methods for improved readability and functionality

This commit is contained in:
Dominik 2025-02-20 08:15:58 +01:00
parent 82bdd728c3
commit 257b063674

View file

@ -12,9 +12,9 @@ public class Radio {
} }
public Radio(boolean on, int volume, double frequency) { public Radio(boolean on, int volume, double frequency) {
this.on = on; this.turnOn();
this.volume = Math.max(Math.min(volume, 10), 0); this.setVolume(volume);
this.frequency = Math.max(Math.min(frequency, 110.0), 85.0); this.setFrequency(frequency);
} }
public void turnOn() { public void turnOn() {
@ -26,17 +26,25 @@ public class Radio {
} }
public void incVolume() { public void incVolume() {
if (this.volume < 10) { if (this.volume < 10 && this.on) {
this.volume++; this.volume++;
} }
} }
public void decVolume() { public void decVolume() {
if (this.volume > 0) { if (this.volume > 0 && this.on) {
this.volume--; this.volume--;
} }
} }
private void setVolume(int volume) {
if (volume >= 0 && volume <= 10) {
this.volume = volume;
} else {
this.volume = 5;
}
}
public void setFrequency(double frequency) { public void setFrequency(double frequency) {
if (frequency >= 85.0 && frequency <= 110.0) { if (frequency >= 85.0 && frequency <= 110.0) {
this.frequency = frequency; this.frequency = frequency;