Buscar

Computador de bordo em JAVA

A linguagem Java segue o paradigma de programação orientado a objetos, com isso toda a nossa programação baseia-se nesses conceitos. Para esta atividade, criaremos uma aplicação usando o NetBeans, para controlar um conjunto de automóveis.

Para isso, você vai precisar criar:

- Um novo projeto no NetBeans, do tipo "Aplicativo Java"
- Uma classe "Automóvel" que será uma superclasse.
- As classes "Carro", "Moto" e "Caminhão", que herdam as características da classe "Automóvel".
- Os automóveis devem possuir motor (que guarda a informação se está ligado ou desligado), número de rodas, número de portas e velocidade atual.
- Todos os automóveis são criados com o motor desligado e a velocidade 0.
- Ao criar um carro, moto ou caminhão, o sistema já define o número de portas e rodas automaticamente. Vamos convencionar carros com 4 portas, caminhão com duas e motos com 0.
- Os automóveis devem possuir os métodos ligar, desligar, acelerar, diminuir e trocarPneus.
- Ao ligar e desligar, o atributo motor deve ser alterado.
- Todos os veículos possuem os mesmos métodos acelerar e diminuir, mas ao acelerar ou diminuir, os carros terão uma variação (para cima ou para baixo) de 10km/h, as motos terão uma variação de 20km/h e os caminhões de 5km/h (Só funciona se o automóvel estiver ligado).
- Se o motorista acelerar e a velocidade passar do limite (110km/h para carros e motos, 80km/h para caminhões), o sistema deve imprimir um aviso.
- O método trocarPneus deve exibir quanto você vai gastar, dado que um pneu custe R$150,00 (valor hipotético).
- Por fim, você deve criar dois novos atributos que considere pertinentes para automóveis e criar métodos que manipulem esses atributos.
- Um método "exibeEstado" que mostra se o carro está ligado ou desligado e a velocidade.

No método principal do sistema, deixe os seguintes comandos:

- Crie um carro, uma moto e um caminhão.
- Ligue o carro, o caminhão e a moto.
- Acelere duas vezes cada um dos três.
- Troque os pneus do caminhão.
- Exiba o estado dos três.

💡 7 Respostas

User badge image

Joao Andre MArtins Dias

/**
 *
 * @author joao
 */
public class Automovel {

    private boolean motor;
    private int nRodas;
    private int nPortas;
    private double velocidadeAtual;
    private double limiteVelocidade;
    private double aceleracao;

    public Automovel() {
        this.motor = false;
        this.velocidadeAtual = 0;
    }

    public Automovel(int nRodas, int nPortas, double limiteVelocidade, double aceleracao) {
        this.nRodas = nRodas;
        this.nPortas = nPortas;
        this.limiteVelocidade = limiteVelocidade;
        this.aceleracao = aceleracao;
        this.motor = false;
        this.velocidadeAtual = 0;
    }

    public void ligar() {
        this.motor = true;
    }

    public void desligar() {
        this.motor = false;
    }

    public boolean acelerar() {
        if (motor) {
            velocidadeAtual += aceleracao;
            if (velocidadeAtual > limiteVelocidade) {
                System.out.println("O limite de velocidade de <+" + limiteVelocidade + "> foi ultrapassado!");
            }
            return true;
        }
        return false;
    }

    public boolean diminuir() {
        if (motor) {
            velocidadeAtual -= aceleracao;
            return true;
        }
        return false;
    }

    public boolean frear() {
        if (motor) {
            while (velocidadeAtual > 0) {
                velocidadeAtual -= aceleracao;
                System.out.println("Reduzindo Velocidade [" + velocidadeAtual + "]Km/h");
            }
        }
        return false;
    }

    public double trocarPneus() {
        return this.nRodas * 150.0;
    }

    public void exibeEstado() {
        System.out.println("O veiculo está[" + ((motor) ? "Ligado" : "Desligado" + "]"));
        System.out.println("A velocidade Atual é[" + velocidadeAtual + "]");
    }

    public int getnRodas() {
        return nRodas;
    }

    public int getnPortas() {
        return nPortas;
    }

    public double getVelocidadeAtual() {
        return velocidadeAtual;
    }

    public double getLimiteVelocidade() {
        return limiteVelocidade;
    }

    public double getAceleracao() {
        return aceleracao;
    }

    public void setLimiteVelocidade(double limiteVelocidade) {
        this.limiteVelocidade = limiteVelocidade;
    }

    public void setAceleracao(double aceleracao) {
        this.aceleracao = aceleracao;
    }

}

1
Dislike0
User badge image

Joao Andre MArtins Dias

/**
 *
 * @author joao
 */
public class Carro extends Automovel{
    public Carro() {
        super(4, 4, 110, 10);
    }
}

/--

/**
 *
 * @author joao
 */
public class Caminhao extends Automovel {

    public Caminhao() {
        super(4, 2, 80, 5);
    }

}

//--

/**
 *
 * @author joao
 */
public class Moto extends Automovel {

    public Moto() {
        super(2, 0, 110, 20);
    }

}

1
Dislike0
User badge image

Joao Andre MArtins Dias

/**
 *
 * @author joao
 */
public class PasseiJ {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Carro carro = new Carro();
        Moto moto = new Moto();
        Caminhao caminhao = new Caminhao();
        
        caminhao.ligar();
        carro.ligar();
        moto.ligar();
        
        for(int i=0;i<2;i++){
            caminhao.acelerar();
            carro.acelerar();
            moto.acelerar();
        }
        
        caminhao.trocarPneus();
        
        caminhao.exibeEstado();
        carro.exibeEstado();
        moto.exibeEstado();
        
        caminhao.frear();
        carro.frear();
        moto.frear();
        
        caminhao.desligar();
        carro.desligar();
        moto.desligar();
        
        caminhao.exibeEstado();
        carro.exibeEstado();
        moto.exibeEstado();
        
        
    }

}

1
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta.

User badge image

Outros materiais