pessoal eu queria saber como que eu somo apenas o preco dos ingredientes incluidos na lista!
private void btnIngredientesActionPerformed(java.awt.event.ActionEvent evt) {
String qu = ((JOptionPane.showInputDialog(null, “Informe a quantidade de ingredientes”)));
int q = Integer.parseInt(qu);
for (int j = 0; j < q; j++) {
Ingrediente i = new Ingrediente();
i.setNome(JOptionPane.showInputDialog(null, "Nome do ingrediente: "));
i.setQtd(Double.valueOf(JOptionPane.showInputDialog(null, “Quantidade(ml/g):”)));
i.setPreco(Double.valueOf(JOptionPane.showInputDialog(null, “Valor do ingrediente(R$):”)));
ingredientes.add(i);
}
}
SkyG0D
#2
Essa é minha lista de ingredientes. A minha classe Ingrediente só possuí uma variável de instância que é a valor.
List<Ingrediente> ingredientes = Arrays.asList(
new Ingrediente(10.0),
new Ingrediente(10.0),
new Ingrediente(10.0),
new Ingrediente(10.0)
);
Agora podemos fazer a soma dos valores de duas formas:
- Com um método que retorná o valor
public static double somaValorDosIngredientes(List<Ingrediente> ingredientes) {
double soma = 0;
for (Ingrediente ingrediente : ingredientes) {
soma += ingrediente.getValor();
}
return soma;
}
- Com uma stream da lista de ingredientes:
double soma = ingredientes.stream().mapToDouble(Ingrediente::getValor).sum();
Exemplo:
double soma1 = somaValorDosIngredientes(ingredientes);
System.out.println(soma1);
double soma2 = ingredientes.stream().mapToDouble(Ingrediente::getValor).sum();
System.out.println(soma2);
Resultado:
40.0
40.0
2 curtidas
Ao postar códigos no fórum, selecione o código todo e clique em </>. Isso facilita a leitura dos colegas.

Um exemplo disso é o código do colega acima.
1 curtida
valeu mano, sou novo aqui no forum