Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Desafio: Carro

1.Crie uma classe Carro com métodos para representar um modelo específico ao longo de três anos. Implemente métodos para definir o nome do modelo, os preços médios para cada ano, e calcular e exibir o menor e o maior preço. Adicione uma subclasse ModeloCarro para criar instâncias específicas, utilizando-a na classe principal para definir preços e mostrar informações.

Carro

package br.com.alura.carro.model;

public class Carro {
    protected String modelo;
    protected int ano;
    protected String cor;
    private double precoAno1;
    private double precoAno2;
    private double precoAno3;

    public double obterMediaPreco(){
        return (double) (precoAno1 + precoAno2 + precoAno3) / 3.;
    }

    //setters e getters

    public String getModelo() {
        return modelo;
    }

    public void setModelo(String modelo) {
        this.modelo = modelo;
    }

    public int getAno() {
        return ano;
    }

    public void setAno(int ano) {
        this.ano = ano;
    }

    public String getCor() {
        return cor;
    }

    public void setCor(String cor) {
        this.cor = cor;
    }

    public double getPrecoAno1() {
        return precoAno1;
    }

    public void setPrecoAno1(double precoAno1) {
        this.precoAno1 = precoAno1;
    }

    public double getPrecoAno2() {
        return precoAno2;
    }

    public void setPrecoAno2(double precoAno2) {
        this.precoAno2 = precoAno2;
    }

    public double getPrecoAno3() {
        return precoAno3;
    }

    public void setPrecoAno3(double precoAno3) {
        this.precoAno3 = precoAno3;
    }

    public void exibirDetalhes(){
    }

    public void avaliarPrecos() {
        double menor = Math.min(precoAno1, Math.min(precoAno2, precoAno3));
        double maior = Math.max(precoAno1, Math.max(precoAno2, precoAno3));
        String analisePrecos = """
                Preços dos últimos 3 Anos: R$%.2f, R$%.2f, R$%.2f.
                O Menor Valor é: R$%.2f.
                O Maior Valor é: R$%.2f.
                """.formatted(precoAno1, precoAno2, precoAno3, menor, maior);
        System.out.println(analisePrecos);
        }
    }

Modelo do Carro

package br.com.alura.carro.model;

public class ModeloCarro extends Carro{
    private String tipo;
    private String tipoCombustivel;
    private String tipoTransmissao;

    public void exibirDetalhes() {
        String detalhes = """
                -----------------------
                Modelos: %s
                Tipo: %s
                Ano: %s
                Cor: %s
                Combustível: %s
                Transmissão: %s
                """.formatted(modelo, tipo, ano, cor, tipoCombustivel, tipoTransmissao);
        System.out.println(detalhes);
    }

    //setters e getters

    public String getTipo() {
        return tipo;
    }

    public void setTipo(String tipo) {
        this.tipo = tipo;
    }

    public String getTipoTransmissao() {
        return tipoTransmissao;
    }

    public void setTipoTransmissao(String tipoTransmissao) {
        this.tipoTransmissao = tipoTransmissao;
    }

    public String getTipoCombustivel() {
        return tipoCombustivel;
    }

    public void setTipoCombustivel(String tipoCombustivel) {
        this.tipoCombustivel = tipoCombustivel;
    }
}

Main

import br.com.alura.carro.model.ModeloCarro;

public class Main {
    public static void main(String[] args) {

        ModeloCarro carro1 = new ModeloCarro();
        carro1.setModelo("Jetta");
        carro1.setAno(2012);
        carro1.setCor("Branco");
        carro1.setPrecoAno1(74900.00);
        carro1.setPrecoAno2(69890.00);
        carro1.setPrecoAno3(59900.00);
        carro1.setTipo("Sedan");
        carro1.setTipoCombustivel("Flex");
        carro1.setTipoTransmissao("Manual");

        carro1.exibirDetalhes();
        carro1.obterMediaPreco();
        carro1.avaliarPrecos();

        ModeloCarro carro2 = new ModeloCarro();
        carro2.setModelo("Civic");
        carro2.setAno(2015);
        carro2.setCor("Preto");
        carro2.setPrecoAno1(74900.00);
        carro2.setPrecoAno2(72900.00);
        carro2.setPrecoAno3(77999.00);
        carro2.setTipo("Sedan");
        carro2.setTipoCombustivel("Flex");
        carro2.setTipoTransmissao("Automático");

        carro2.exibirDetalhes();
        carro2.obterMediaPreco();
        carro2.avaliarPrecos();
    }
}

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta
solução!

Oi, Kevin! Como vai?

Com o que você descreveu, a estrutura das classes ficou organizada e a separação entre Carro e ModeloCarro mostra uma boa aplicação de herança. O uso de Math.min e Math.max também chamou atenção, mantendo o cálculo dos preços bem direto.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!