'); try { x = screen.width; y = screen.height; cboxwin.moveTo(Math.max((x/4)-(150/2), 0), Math.max((y/3)-(250/2))); } catch (e) {}; }
Roberto Passareti Filho

Classe Heater

 

2.52 - Exercício Desafio: Crie um novo projeto, 'heater exercise', no BlueJ. Edite os detalhes na descrição de projeto - a nota de texto que você vê no diagrama. Crie uma classe, 'Heater', que contenha um unico campo inteiro, 'temperature'. Defina um construtor que não aceite nenhum parâmetro. O campo 'temperature' deve ser configurado com o valor 15 no construtor. Defina os métodos modificadores 'warmer' e 'cooler', cujo o efeito é aumentar ou diminuir o valor da temperatura por 5° respectivamente. Defina um método de acesso para retornar o valor de 'temperature'.

2.53 - Exercício Desafio: Modifique sua classe 'Heater' para definir três novos campos inteiros: 'min', 'max' e 'increment'. Os valores de 'min' e 'max' devem ser configurados por parâmetros passados para o construtor. O valor de 'increment' deve ser configurado como 5 no construtor. Modifique as definições de 'warmer' e 'cooler' de modo que utilizem o valor de incremento em vez de um valor explicito de 5. Antes de prosseguir com esse exercício, verifique se tudo funciona como antes. Agora modifique o método 'warmer' de modo que não permita que a temperatura seja configurada como um valor maior que 'max'. De maneira semelhante, modifique 'cooler' de modo que não permita que 'temperature' seja configurado como um valor menor que 'min'. Verifique se a classe funciona adequadamente. Agora adicione um método, 'setIncrement', que recebe um único parâmetro inteiro e o utiliza para configurar o valor de 'increment'. Mais uma vez, teste se a classe funciona conforme o esperado criando alguns objetos Heater no BlueJ. As coisas ainda funcionam conforme o esperado se um valor negativo for passado para o método 'setIncrement'? Adicione uma verificação a esse método para evitar que um valor negativo seja atribuído para 'increment'.

--- Código fonte da classe Aquecedor ---



/**
* Classe de um "Ar-Condicionado"
* função: regular a temperatura do ambiente
* Autor: .beto
* Versão: 14/04/2006
*/


    public class Heater
    {

    private int cTemperatura;
    private int cMin;
    private int cMax;
    private int cIncremento;

    public Heater(int vMin, int vMax)
    {
        if (vMin <= vMax)
        {
            cMin = vMin;
            cMax = vMax; 
        }
        else
        {
            System.out.println("Seu burro, digitou na ordem invertida!!! Eu arrumo para você.");
            cMin = vMax;
            cMax = vMin; 
        }
        cTemperatura = 15;
        cIncremento = 5;
    }

    public int mostraTemperatura()
    {
        return cTemperatura;
    }

    public void ajustaIncremento(int vIncremento)
    {
        if (vIncremento > 0)
        {
            cIncremento = vIncremento;
        }
        else
        {
            System.out.println("Escolha um valor positivo ou diferente de Zero");
        }
    }

    public void maisFrio()
    {
        if (cMin <= cTemperatura - cIncremento)
        {
            cTemperatura -= cIncremento;
        } 
        else
        {
            cTemperatura = cMin;
        }
    }

    public void maisQuente()
    {
        if (cMax >= cTemperatura + cIncremento)
        {
            cTemperatura += cIncremento;
        }
        else
        {
            cTemperatura = cMax;
        }
    }


}


Hosted by www.Geocities.ws