Classe liquidificador

[code]/*Exercício 02

Implemente um programa Java que simule um aparelho liquidificador com teclas.
O status da velocidade do liquidificador começa sempre em modo desligado (valor 0),
podendo depois passar para as seguintes velocidades: velocidade 1 (baixa), velocidade 2
(média baixa), velocidade 3 (média), velocidade 4 (média alta) e velocidade 5 (alta).
Diferente do liquidificador com botão seletor, este aparelho consegue mudar de um nível de velocidade para outro diretamente.
Pede-se:

  1. Escreva um método que altere a velocidade apenas recebendo como parâmetro o número da velocidade desejada
    (de zero a 5). Caso o usuário entrar com um valor menor que 0 ou maior que 5, a velocidade não é alterada.
  2. Escreva um método que implemente a funcionalidade desligar.
  3. Escreva um método que retorne a velocidade atual do liquidificador. Retorne um número.
  4. Escreva um método que imprima na tela a velocidade atual do liquidificador. Faça um chamado ao método do item 3.
    Quando a velocidade for igual a zero, imprima “Desligado”; 1, “Velocidade baixa”; 2, “Velocidade média baixa”; 3,
    “Velocidade média”; 4, “Velocidade média alta”; 5, “Velocidade alta”.
    */
public class  Liquidificador{

  private int velocidade ;
  private boolean  ligar , desligar ;
 

   public Liquidificador(  ) {
     velocidade = 0;
  }
  
   public  void     velocidadeDesejada ( int aumentarVelocidade ) {
     if ( aumentarVelocidade >=0 &&   aumentarVelocidade <= 5){
        while ( velocidade != aumentarVelocidade){
           velocidade ++;
        }
     }
     else 
     {
        while ( velocidade > aumentarVelocidade){
           velocidade --;
         
        }
                   
     }
   
  }
  

   public void desligar () {
     
     desligar =false ;
     this.velocidade = 0;
  
  	
  }
   public void ligar () {
  
     ligar = true ;
     this.velocidade=1;
  }
 
   public String  EstadoAtual () {
     if ( velocidade == 0 ){
        return ("desligado ");
     }
     else 
        return ("ligado ");
  }
 

   public int  GetVelocidade (){
     return this.velocidade;
  }

   public void ImprimirVelocidade () {
   
      
      
     if ( velocidade == 0)
        System.out.println("Estado  = "  + EstadoAtual()+" :"+GetVelocidade ());
           
        
           
        
     else if  ( velocidade == 1){
        
        System.out.println(EstadoAtual()+" = Velocidade baixa :" + GetVelocidade ()); 
     }
           
     else if  ( velocidade == 2){
        
        System.out.println(EstadoAtual() +"=" +" Velocidade media baixa : " +GetVelocidade ()); 
     }
         
     else if ( velocidade == 3){
        
        System.out.println(EstadoAtual()+"="+" Velocidade media :" +GetVelocidade ()); 
     }
           
           
     else if ( velocidade == 4){
        
        System.out.println(EstadoAtual()+"+" +"Velocidade media alta :"+GetVelocidade ()); 
     }
          
        
     else if ( velocidade == 5){
        
        System.out.println(" Velocidade alta  : "+ GetVelocidade ()); 
     
        
     
     }
  
  }

}
[/code]

estou começando em java agora
é a melhor forma de fazer ?

Já que você está começando agora, vou tentar ser o mais didático possível.
Para atender a esse problema eu faria da seguinte maneira:
Problema 1 - Não precisa de duas variaveis booleanas para armazenar o status do liquidicador. Se está ligado é status = true e desligado o status=false.
Mas se você quiser, não precisa de nenhuma variável booleana. Se está desligado a velocidade é zero e ligado é qualquer outro valor.
Problema 2 - Para desligar, basta modificar a velocidade do liquidificador para zero.
Problema 3 - Basta retornar o valor da variável velocidade.
Problema 4 - Para isso eu criei os objetos strings publicos no início da classe e dentro do método eu utilizo a estrutura switch-case.

public class Liquidificador{
	public static final String DESLIGADO = "Desligado";
	public static final String VELOCIDADE_BAIXA = "Velocidade Baixa";
	public static final String VELOCIDADE_MEDIA_BAIXA = "Velocidade Média Baixa";
	public static final String VELOCIDADE_MEDIA = "Velocidade Média";
	public static final String VELOCIDADE_MEDIA_ALTA = "Velocidade Média Alta";
	public static final String VELOCIDADE_ALTA = "Velocidade Alta";
	public int velocidade;
	
	//problema 1
	public void setVelocidade(int velocidade){
		if (velocidade>=0 && velocidade <=5){
			this.velocidade = velocidade;
		}
	}
	
	//problema 2
	public void desligar(){
		velocidade = 0;
	}
	
	//problema 3
	public int getVelocidadeAtual(){
		return velocidade;
	}
	
	//problema 4
	public void imprimeVelocidade(){
		String mensagem = "";
		
		switch(velocidade){
			case 0:
				mensagem = DESLIGADO;
				break;
			case 1:
				mensagem = VELOCIDADE_BAIXA;
				break;
			case 2:
				mensagem = VELOCIDADE_MEDIA_BAIXA;
				break;
			case 3:
				mensagem = VELOCIDADE_MEDIA;
				break;
			case 4:
				mensagem = VELOCIDADE_MEDIA_ALTA;
				break;
			case 5:
				mensagem = VELOCIDADE_ALTA;
				break;
		}
		System.out.println(mensagem);	
	}
}

Obs.: Acho que ainda ficaria mais orientado a objeto se fosse utilizado um enum para armazenar as velocidades do liquidificador.
Mais ou menos assim:

private enum VelocidadeLiquidificador{
	DESLIGADO(0, "Desligado"),
	VELOCIDADE_BAIXA(1, "Velocidade Baixa"),
	VELOCIDADE_MEDIA_BAIXA(2, "Velocidade Média Baixa"),
	VELOCIDADE_MEDIA(3, "Velocidade Média"),
	VELOCIDADE_MEDIA_ALTA(4, "Velocidade Média Alta"),
	VELOCIDADE_ALTA(5, "Velocidade Alta");

	private int velocidade;
	private String nome;

	private VelocidadeLiquidificador(int velocidade, String nome){
		this.velocidade = velocidade;
		this.nome = nome;
	}
	
	public int getVelocidade(){
		return velocidade;
	}
	
	public String getNomeVelocidade(){
		return nome;
	}
}

Com o enum acima, a sua classe liquidificador modificaria um pouco.
em vez de utilizar um int para armazenar a velocidade, você utilizaria o enum VelocidadeLiquidificador. E para modificar os seus valores bastaria fazer algo assim:

VelocidadeLiquidificador velocidadeLiquidificador = VelocidadeLiquidificador.VELOCIDADE_BAIXA;

Já para imprimir as velocidades, não precisaria mais do switch-case. Bastaria fazer assim na classe Liquidificador:

public void imprimeVelocidade(){
   System.out.println(velocidadeLiquidificador.getNomeVelocidade();
}

Espero ter ajudado.

valew cara você ajudo muito , o grande problema de estar começando a programar é complicar muito.e você enxugou o codigo e deixou melhor.