Ar Condiconado Exercicio! Bluej

Implemente o solicitado abaixo no projeto:

Crie uma classe chamada ArCondicionado, que contém um único campo, temperatura, do tipo double. A temperatura deve ser sempre inicializada como 25.0 no construtor da classe.
Defina os métodos modificadores aumentarTemperatura e reduzirTemperatura, cujos efeitos são aumentar a temperatura e diminuir a temperatura em 5 graus, respectivamente.
Defina um método de acesso para obter o valor de temperatura.
Modifique a classe para inserir mais três campos do tipo double: minimo, maximo e incremento.
Os valores de minimo e maximo devem ser fornecidos por parâmetros passados a um construtor.
O valor de incremento deve ser 5.0 no construtor.
Modifique os métodos aumentarTemperatura e reduzirTemperatura, que passarão a usar o valor de incremento em vez de usar o valor explícito 5.0.
Modifique o método aumentarTemperatura, de modo que a temperatura não passe do valor de maximo.
Realize o mesmo com o método reduzirTemperatura, não permitindo que fique abaixo do valor de minimo.
Adicione um método chamado setIncremento, que recebe um parâmetro apropriado e configura o valor de incremento com o valor do parâmetro.
Crie uma classe chamada ArCondicionadoCentral. Um ArCondicionadoCentral possui 3 objetos ArCondicionado.
Ao inicializar o ArCondicionadoCentral, cada ArCondicionado é inicializado com sua temperatura padrão.
Crie um método temperatura para determinar a temperatura dada pelo ArCondicionadoCentral, que será a média dos 3 objetos ArCondicionado.

public class ArCondicionado
{
    private double temperatura;
    private double minimu;
    private double maximo;
    private double incremento;
    
    public ArCondicionado(){
      temperatura = 25.0;
    }
    
    public void aumentarTemperatura(){
        
    }
    
    public void reduzirTemperatura(){
        
    }
    
    
}

Isso é o que eu consegui fazer;

Legal agora só falta:

  • o método aumentarTemperatura aumentar a temperatura de acordo com o incremento;

  • o método reduzirTemperatura reduzir a temperatura de acordo com o incremento;

  • definir um método que retorna o valor da temperatura;

  • criar um construtor que receber os valores de minimo e maximo por parâmetro;

  • iniciar o incremento em 5.0 no construtor;

  • modificar o método aumentarTemperatura, de modo que a temperatura não passe do valor de maximo;

  • modificar o método reduzirTemperatura, não permitindo que fique abaixo do valor de minimo.

  • adicionar um método chamado setIncremento, que recebe um parâmetro e seta o valor de incremento;

  • criar uma classe chamada ArCondicionadoCentral com 3 atributos do tipo ArCondicionado;

  • no construtor do ArCondicionadoCentral inicializar cada ArCondicionado com sua temperatura padrão;

  • no ArCondicionadoCentral criar um método temperatura para retornar a média de temperatura dos 3 atributos ArCondicionado.

Vai fazendo uma coisa de cada vez e conforme surgirem dúvidas, nós ajudamos.

Ficou assim:

public class ArCondicionado
{
private double temperatura;
private double minimo;
private double maximo;
private double incremento;

//constrututor
public ArCondicionado(double min, double max){
   this.temperatura = 25.0;
   this.minimo = min;
   this.maximo = max;
   this.incremento = 5; 
    
}
// () parametro
public void aumentarTemperatura(){
    // descrição de metodo
    this.temperatura = this.temperatura + incremento;
    // condição do if
    if (this.temperatura > maximo) {
        this.temperatura = maximo; 
    }               
}

public void reduzirTemperatura(){
    this.temperatura = this.temperatura - incremento;
    
    if (this.temperatura < minimo){
        this.temperatura = minimo;
    }
}

public double getTemperatura (){
    return this.temperatura;
}

public void setIncremento(double i){
    this.incremento = i;
 
}

public void setTemperatura (double temp){
    this.temperatura = temp;
}

}

Central:

public class ArCondicionadoCentral
{
private ArCondicionado acd1;
private ArCondicionado acd2;
private ArCondicionado acd3;
double temperatura;

public ArCondicionadoCentral(ArCondicionado acd1, ArCondicionado acd2, ArCondicionado acd3){
 this.acd1 = acd1;
 this.acd2 = acd2;
 this.acd3 = acd3;
}

public void temperatura(){
this.temperatura = (acd1.getTemperatura() + acd2.getTemperatura() + acd3.getTemperatura()) / 3;
acd1.setTemperatura(this.temperatura);
acd2.setTemperatura(this.temperatura);
acd3.setTemperatura(this.temperatura);
}
}

Acredito que o método temperatura do ar condicionado central deveria ser assim:

public double temperatura(){
   double media  = (acd1.getTemperatura() + acd2.getTemperatura() + acd3.getTemperatura()) / 3;
   return media;
}