Dúvida em exercício de classes!

Oi galera, estou com um exercicio de orientacao de objetos que estou precisando de um auxilio extra e possíveis soluções. segue ordem do exercício:

Crie uma classe chamada Televisor que possua o atributo volume e os
métodos aumentaVolume() e diminuiVolume() que nada retornam. O método
aumentaVolume aumenta em 1 (incrementa) a variável volume, desde que não
esteja com volume igual a 40, neste caso, o método não deve realizar nenhuma
ação. Já o método diminuiVolume diminui em 1 (decrementa) a variável volume,
desde que já não esteja com volume igual a zero. O volume deve ser iniciado no
construtor com o valor igual a zero. Crie o método retornaVolume(), que irá
retornar o volume do televisor. Crie a classe Principal para testar os métodos
desenvolvidos

Agradeço desde já!

Qual é dificuldade? Um exemplo:

1 - Classe Televisor
public class Televisor {
	private int volume;
	private int percentual;
	
	public Televisor(){
		this.volume = 0;
	}
	
	public void aumentaVolume(){
		if(this.volume < 40)
			this.volume++;
	}
	
	public void diminuiVolume(){
		if(this.volume > 0)
			this.volume--;
	}
	
	public void retornaVolume(){
		percentual = volume * 100 / 40;
		String indicador = "";
		
		if(volume > 0){
			for(short i = 0; i < volume; i++){
				indicador += "|";
			}
			System.out.println(indicador + " " + percentual + "%");
		}else{
			indicador = " -+- ";
			System.out.println(indicador + " " + percentual + "%");
		}
		
	}
}
2 - Classe Principal
public class Principal {
	public static void main(String[] args){
		Televisor televisor = new Televisor();
		//0
		televisor.retornaVolume();
		//1
		televisor.aumentaVolume();
		televisor.retornaVolume();
		//4 + 1
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.retornaVolume();
		//10 + 5
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.retornaVolume();
		//20 + 15
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.aumentaVolume();
		televisor.retornaVolume();
		//35 - 1
		televisor.diminuiVolume();
		televisor.retornaVolume();
		//34 - 7
		televisor.diminuiVolume();
		televisor.diminuiVolume();
		televisor.diminuiVolume();
		televisor.diminuiVolume();
		televisor.diminuiVolume();
		televisor.diminuiVolume();
		televisor.diminuiVolume();
		televisor.retornaVolume();
	}
}
3 - Teste

image

Oi Iohannes

Estou começando agora a aprender sozinho orientação de objetos e me deparei com esse problema, quis buscar soluções de como é feito e entender o conceito.

Obrigado pelo exemplo!!