@Leticia_Faria escreveu:
Olá, estou tentando fazer um exercício de java e está dando um erro nos métodos aumentarTemperatura() e reduzir temperatura(), especificamente no comando int temperatura = termostato.getTemperatura(); segundo o Eclipse, mas não tenho certeza se é somente isso. Quem puder me ajudar ficarei muito grata.
O exercício é o seguinte:
Criar as classes CondicionadorDeAr e Termostato.
a) A classe CondicionadorDeAr tem um atributo termostato do tipo Termostato e um atributo boolean chamado ligado. O construtor de CondicionadorDeAr não recebe nenhum parâmetro, mas instancia um termostato e coloca ligado em false. Crie um método de acesso para ligado e outro para termostato. Não precisa fazer os métodos modificadores. Crie um método ligar, que muda ligado para true, e um desligar, que muda ligado para false. Crie um método aumentarTemperatura, que aumenta a temperatura do termostato em um grau cada vez que é chamado até o limite de 28 graus. Crie um método reduzirTemperatura que reduz a temperatura em um grau cada vez que é chamado até o limite de 15 graus. Crie um método imprimirTemperatura que imprime a temperatura atual. Não se esqueça de
verificar se o condicionador está ligado antes de aumentar ou diminuir a temperatura ou imprimi-la.
b) A classe Termostato tem um atributo privado temperatura. Seu construtor não recebe parâmetros, mas instancia a temperatura em 20. Crie métodos de acesso e modificador. Estes métodos devem respeitar os limites estabelecidos no item anterior.
c) Crie a classe Usuario, com o método main. Neste método você deve instanciar um CondicionadorDeAr, aumentar a temperatura para 30 graus (receber mensagem de erro), reduzir a temperatura para 10 graus (receber mensagem de erro). Aumentar a temperatura para 25 graus e imprimir a temperatura.
Classe Termostato
public class Termostato {
private int temperatura; public Termostato (int temperatura) { this.temperatura = temperatura; } public int getTemperatura() { return temperatura; } public int setTemperatura(int temperatura) { this.temperatura = temperatura; return temperatura; }
}
Classe CondicionadorDeAr
import javax.swing.JOptionPane;
public class CondicionadorDeAr {
private Termostato termostato; private boolean ligado; public CondicionadorDeAr() { super(); Termostato termostato = new Termostato(20); this.ligado = false; } public Termostato getTermostato() { return termostato; } public void setTermostato(Termostato termostato) { this.termostato = termostato; } public boolean isLigado() { return ligado; } public void setLigado(boolean ligado) { this.ligado = ligado; } public boolean ligar(){ ligado = true; return ligado; } public boolean desligar(){ ligado = false; return ligado; } public int aumentarTemperatura(){ int temperatura = termostato.getTemperatura(); if (ligado == true){ if(temperatura <= 28){ return temperatura++; }else{ return temperatura; } }else{ JOptionPane.showMessageDialog(null, "O condicionador está desligado"); return 0; } } public int reduzirTemperatura(){ int temperatura = termostato.getTemperatura(); if(ligado == true){ if(temperatura >=15){ int newTemp = temperatura - 1; return newTemp; }else{ return temperatura; } }else{ JOptionPane.showMessageDialog(null, "O condicionador está desligado"); return 0; } }
}
Classe Usuário
import javax.swing.JOptionPane;
public class Usuario {
public static void main(String[] args) { int menu=0; String n; CondicionadorDeAr c = new CondicionadorDeAr(); Termostato termostato = new Termostato(20); int temperatura = termostato.getTemperatura(); do{ boolean ligado = c.isLigado(); if(ligado == false){ n = "OFF"; }else{ n = "ON"; } Object[] options = { "Aumentar temperatura", "Diminuir temperatura", "Ligar", "Desligar", "Encerrar Programa" }; int op_index = JOptionPane.showOptionDialog(null, "STATUS CONDICIONADOR DE AR\n" + n + " | Temperatura: " + temperatura + "\nO que deseja fazer?", "Informe a opção desejada", 0, JOptionPane.QUESTION_MESSAGE, null, options, options[0]); if (op_index == 0){ c.aumentarTemperatura(); menu = 1; } if (op_index == 1){ c.reduzirTemperatura(); menu = 1; } if (op_index == 2){ boolean lig = c.isLigado(); if(lig == false){ c.ligar(); JOptionPane.showMessageDialog(null, "Condicionador de ar ligado com sucesso.", "Ligado!",1); }else{ JOptionPane.showMessageDialog(null, "O condicionador já está ligado.", "Atenção!",2); } menu = 1; } if(op_index == 3){ boolean lig = c.isLigado(); if(lig == false){ JOptionPane.showMessageDialog(null, "O condicionador já está desligado.", "Atenção!",2); }else{ c.desligar(); JOptionPane.showMessageDialog(null, "Condicionador de ar desligado com sucesso.", "Desligado!",1); } int op = JOptionPane.showConfirmDialog(null, "Deseja voltar ao menu?", "Voltar ao início?", JOptionPane.YES_NO_OPTION); if (op == JOptionPane.YES_OPTION){ menu = 1; }else { menu = 0; } } if (op_index == 4){ System.exit(0); } } while(menu == 1); }
}
Agradeço a todos desde já!
Mensagens: 5
Participantes: 3