Como somar o valor dos preços de uma lista

4 respostas Resolvido
java
G

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);
}
    
}

4 Respostas

S
Solucao aceita

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:

  1. 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;
    }
  1. 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

R

Ao postar códigos no fórum, selecione o código todo e clique em </>. Isso facilita a leitura dos colegas.

image

Um exemplo disso é o código do colega acima.

G

valeu mano, sou novo aqui no forum

G

muito obrigado!

Criado 5 de agosto de 2020
Ultima resposta 5 de ago. de 2020
Respostas 4
Participantes 3