Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Projeto] Planejando uma viagem: consumo e autonomia

package br.com.nadson.desafiosc1.modelo;

public class Carro {

    private String nome;
    private double consumoMedio;           // km por litro
    private double capacidadeTanque;       // litros
    private double combustivelAtual;       // litros
    private double distanciaViagem;        // km

    public Carro(String nome, double consumoMedio, double capacidadeTanque,
                 double combustivelAtual, double distanciaViagem) {
        this.nome = nome;
        this.consumoMedio = consumoMedio;
        this.capacidadeTanque = capacidadeTanque;
        this.combustivelAtual = combustivelAtual;
        this.distanciaViagem = distanciaViagem;
    }

    public double calcularAutonomiaTotal() {
        return consumoMedio * capacidadeTanque;
    }

    public double calcularAutonomiaAtual() {
        return consumoMedio * combustivelAtual;
    }

    public boolean consegueChegar() {
        return calcularAutonomiaAtual() >= distanciaViagem;
    }

    public String imprimirAnalise() {
        if (consegueChegar()) {
            return "Você conseguirá completar a viagem sem precisar abastecer.";
        } else {
            return "Você NÃO conseguirá completar a viagem com o combustível atual.";
        }
    }

    @Override
    public String toString() {

        return String.format(
                "Tipo: %s%n" +
                        "Autonomia máxima do veículo: %.1f km%n" +
                        "Autonomia atual: %.1f km%n" +
                        "%s",
                nome,
                calcularAutonomiaTotal(),
                calcularAutonomiaAtual(),
                imprimirAnalise()
        );

    }
}
package br.com.nadson.desafiosc1.pricipal;

import br.com.nadson.desafiosc1.modelo.Carro;

public class PlanejandoUmaViagemConsumoeAutonomia {
    public static void main(String[] args) {
        Carro carro=new Carro("bmw",12.5,50,20,200);

        System.out.println(carro);
    }
}
3 respostas
solução!

Olá, Nadson! Tudo bem?

Mais uma vez, parabéns pela organização do código! Você tem uma ótima noção de como separar as responsabilidades.

Gostei muito de ver que você criou métodos específicos para cada cálculo (calcularAutonomiaTotal, calcularAutonomiaAtual) e um método booleano (consegueChegar) para validar a lógica. Isso deixa o código muito legível e fácil de testar, o que chamamos de Clean Code.

Bons estudos!

Sucesso

Imagem da comunidade
Ícone de sugestão Para saber mais:

Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:

Bons estudos!

obrigado pela sugestão vou dar uma conferida