1
resposta

[Projeto] Total com Imposto

import java.util.List;

public class Main {
    static void main(String[] args) {
        List<Double> precosProdutos = List.of(29.99, 49.50, 15.75, 99.99);





        double semImposto = precosProdutos.stream().reduce(0.0,Double::sum);
        double imposto = semImposto * 0.08;
        double totalComimposto = imposto + semImposto;
        System.out.println("Valor total antes do imposto : " + semImposto );
        System.out.println( "Valor total com imposto de 8% : " + String.format("%.2f",totalComimposto));

    }
}
1 resposta

Olá, Weid, como vai?

O seu código atende perfeitamente ao que foi solicitado no exercício, utilizando o método reduce para realizar o somatório dos valores de forma eficiente com a referência de método Double::sum. A lógica para o cálculo da taxa de 8% e a aplicação do String.format para garantir a precisão das casas decimais na saída final demonstram um bom domínio dos conceitos de Streams e manipulação de tipos numéricos em Java.

Uma dica interessante para o seu desenvolvimento é que, em situações onde os valores precisam de precisão absoluta, como em sistemas financeiros reais, a classe BigDecimal costuma ser mais indicada que o tipo Double para evitar arredondamentos inesperados de ponto flutuante. No contexto deste exercício, sua implementação com Double está correta e cumpre o objetivo de praticar coleções e streams.

Parabéns pelo empenho em compartilhar sua solução e continue praticando as operações de agregação da API de Streams.

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