1
resposta

[Projeto] CalculandoOTotalComImposto

package f;

import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Main {


    public static void main(String[] args) {


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


        double total = precosProdutos.stream().reduce((double) 0, (acumlador, n) -> acumlador + n);

       double imposto = (total * 8)/ 100;

       double totalComImposto = total + imposto;

        System.out.println("Valor total antes do imposto: " + total);
        System.out.printf("Valor total com imposto de 8%%: %.2f", totalComImposto);
    }
}
1 resposta

Olá, João, como vai?

O código está correto e resolve bem o problema proposto. A lógica com reduce() funciona, o cálculo do imposto está preciso e a formatação com printf garante as duas casas decimais na saída.

Há um ponto de atenção: a primeira linha de saída, com println, exibe o total sem formatação de casas decimais, o que pode gerar uma saída como 195.23000000000003 por conta da imprecisão de ponto flutuante do tipo double. Usar printf nas duas linhas resolve isso.

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

Parabéns pelo exercício, João. O raciocínio está bem encaminhado e a solução é coerente com o que foi pedido.

O fórum está à disposição.

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