Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Resolução do Desafio

import java.util.List;

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

        List<Double> precosProdutos = List.of(29.99, 49.50, 15.75, 99.99);

        Double somaPreco = precosProdutos.stream()
                .reduce(0.0, Double::sum);

        Double valorComImposto = somaPreco + (somaPreco * 0.08);

        System.out.printf("Valor total antes do imposto: %.2f%n", somaPreco);
        System.out.printf("Valor total com imposto de 8%%: %.2f%n", valorComImposto);

    }
}
1 resposta

Oi, Pablo. Tudo bem com você?

A sua resolução ficou muito boa. Você usou a API de streams do Java de forma bem direta, aplicando o método reduce para fazer o somatório do valor inicial e depois cobrando a porcentagem certinha conforme o que foi pedido no exercício.

A formatação da saída com printf também garantiu que as duas casas decimais fossem exibidas corretamente no console, exatamente como o enunciado solicitava. Quando trabalhamos com operações de redução, também é comum encontrar abordagens que usam funções lambda em vez do Method Reference, como .reduce(0.0, (a, b) -> a + b).

Parabéns pelo excelente trabalho no desafio e muito obrigado por compartilhar sua solução no fórum. Lembre-se de que estamos sempre à disposição caso surja qualquer outra dúvida ao longo dos seus estudos.

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