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: Interfaces 4, 5

4.Crie uma interface ConversorTemperatura com os métodos celsiusParaFahrenheit() e fahrenheitParaCelsius(). Implemente uma classe ConversorTemperaturaPadrao que implementa essa interface com as fórmulas de conversão e exibe os resultados.

Conversor Padrão

public class ConversorTemperaturaPadrao implements ConversorTemperatura {

    @Override
    public double celsiusParaFahrenheit(double celsius) {
        return (celsius * 9/5) + 32;
    }

    @Override
    public double fahrenheitParaCelsius(double fahrenheit) {
        return (fahrenheit - 32) * 5/9;
    }
}

Conversor de Temperatura

public interface ConversorTemperatura {

    double celsiusParaFahrenheit(double celsius);
    double fahrenheitParaCelsius(double fahrenheit);
}

Main

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

        ConversorTemperatura conversor = new ConversorTemperaturaPadrao();
        double celsius = 25.0;
        double fahrenheit = conversor.celsiusParaFahrenheit(celsius);
        System.out.println(celsius + " °C = " + fahrenheit + " °F");

        double fahrenheitInput = 86.0;
        double celsiusConverted = conversor.fahrenheitParaCelsius(fahrenheitInput);
        System.out.println(fahrenheitInput + " °F = " + celsiusConverted + " °C");
    }
}

5.Crie uma interface Calculavel com um método double calcularPrecoFinal(). Implemente essa interface nas classes Livro e ProdutoFisico, cada uma retornando o preço final considerando descontos ou taxas adicionais.

Livros

public class Livros implements Calculavel {

    private double valorProdutos;
    private double porcentagemDesconto;
    private double valorDesconto;

    @Override
    public double calcularPrecoFinal() {
        valorDesconto = (valorProdutos * porcentagemDesconto) / 100;
        return valorProdutos - valorDesconto;
    }

    public double setValorProdutos(double valorProdutos) {
        this.valorProdutos = valorProdutos;
        return valorProdutos;
    }

    public double setPorcentagemDesconto(double porcentagemDesconto) {
        this.porcentagemDesconto = porcentagemDesconto;
        return porcentagemDesconto;
    }
}

Produto Físico

public class ProdutoFisico implements Calculavel{

    private double precoBase;
    private double frete;

    @Override
    public double calcularPrecoFinal() {
        return precoBase + (precoBase * frete);
    }

    public void setPrecoBase(double precoBase) {
        this.precoBase = precoBase;
    }

    public void setFrete(double frete) {
        this.frete = frete;
    }
}

Calculável

public interface Calculavel {

    double calcularPrecoFinal();
}

Main

public class Main {

    public static void main(String[] args) {

        ProdutoFisico produto = new ProdutoFisico();
        produto.setPrecoBase(100.0);
        produto.setFrete(0.15); // 15% de frete
        double precoFinalProduto = produto.calcularPrecoFinal();
        System.out.println("Preço final do Produto Físico: " + precoFinalProduto);

        Livros livro = new Livros();
        livro.setValorProdutos(200.0);
        livro.setPorcentagemDesconto(10.0); // 10% de desconto
        double precoFinalLivro = livro.calcularPrecoFinal();
        System.out.println("Preço final do Livro: " + precoFinalLivro);
    }
}

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?

Agradeço por compartilhar.

Gostei do seu avanço, principalmente na forma como organizou as interfaces e manteve cada responsabilidade bem separada. Do jeito que você explicou, deu para perceber que entendeu o objetivo da atividade e aplicou bem os métodos de conversão e cálculo.

Continue praticando, você está no caminho certo.

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