Oi, Enio! Tudo bem?
Parabéns pelo código e pela dedicação, é muito bacana poder acompanhar a sua evolução! Deixo como sugestão para calcular o preço médio, somar todos os preços primeiro e, só depois, dividir pelo número total de produtos, deixando o nosso código da seguinte forma:
import br.alura.controleCalculos.Produto;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<Produto> estoque = new ArrayList<>();
double precoTotal = 0;
Produto produto = new Produto("Mouse", 30.00);
Produto produto1 = new Produto("Teclado", 52.00);
Produto produto2 = new Produto("Caneta", 1.00);
Produto produto3 = new Produto("Agenda", 20.00);
Produto produto4 = new Produto("Fone", 78.00);
estoque.add(produto);
estoque.add(produto1);
estoque.add(produto2);
estoque.add(produto3);
estoque.add(produto4);
// Calcula o preço total
for (Produto p : estoque) {
precoTotal += p.getPreco();
}
// Calcula o preço médio
double precoMedio = precoTotal / estoque.size();
System.out.printf("Preço Médio dos Produtos: R$ %.2f\n", precoMedio);
}
}
Neste exemplo, primeiro somamos todos os preços dos produtos e, após o loop, calculamos o preço médio dividindo o precoTotal
pelo tamanho da lista estoque
. Assim, o preço médio é calculado corretamente e exibido apenas uma vez.
Espero ter ajudado!
Um forte abraço e bons estudos!