Somar colunas TableView JAVAFX

Olá Pessoal, blza? Preciso de uma luz, mto simples eu acredito, mas eu estou patinando aqui!!! :unamused: … Preciso somar as colunas de uma TableView, ok? Segue meu codigo.

public void somar(){
        Double soma = 0.0;
        List<Conta> cg = tblConta.getItems();
            for (Conta tab : cg) {
                Double valorTabela = tab.getValor();
                soma += valorTabela;
                Double resultado = soma;
                System.out.println("a soma é: " + resultado);
            }
    }

porém quando peço pra imprimir ele imprime a operação com os valores da seguinte forma. Se eu insiro na tabela o valor de 250,00 4 vezes, a impressão sai desta forma:

a soma é: 250.00
a soma é: 500.00
a soma é: 750.00
a soma é: 1000.00

E eu só quero imprimir o resultado final que é 1000.00.

Sei que o comando de impressão está dentro do for, por isso está repetindo, mas eu não consigo colocá-lo fora. O que estou fazendo de errado? Se alguém puder ajuda! Agradeço imensamente…

Tire a impressão de dentro do loop.

  for (Conta tab : cg) {
            Double valorTabela = tab.getValor();
            soma += valorTabela;
            Double resultado = soma;            
        }
        System.out.println("a soma é: " + resultado);
1 curtida

PedreiroDeSoftware grato pela resposta! Mas eu já tentei tirar, porém a IDE me dá erro dizendo que não localiza a variável “resultado” que foi declarada dentro do loop fora do loop!..

loop

Sim, então você inicia a variável antes do laço.

Se esse era seu problema, então já pode passar para a proxima etapa.

    Double resultado  = 0.0;
    for (Conta tab : cg) {
        Double valorTabela = tab.getValor();
        soma += valorTabela;
        resultado = soma; 
    } 
    System.out.println("a soma é: " + resultado);

Mas nesse caso pode descartar a variavel resultado e usar somente a soma

Double soma  = 0.0; 
for (Conta tab : cg) {
    soma += tab.getValor();
} 
System.out.println("a soma é: " + soma );
2 curtidas

J-Menezes e PedreiroDoSoftware, funcionou eu agradeço mto a ajuda!

1 curtida