Quantcast
Channel: GUJ - Tópicos com a tag java
Viewing all articles
Browse latest Browse all 17410

Ajuda com exercício em Java - Condicionador de ar

$
0
0

@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

Ler tópico completo


Viewing all articles
Browse latest Browse all 17410

Latest Images

Trending Articles

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>