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.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!