[RESOLVIDO] Problemas com List

Bom, eu estou fazendo um programa que seria tipo uma folha de pagamento. Entao ao inserir todos os funcionários, quero que ao clicar num botão, some o valor de todos os salários e mostre o resultado.
Mas o que estou fazendo parece nao estar dando mt certo hehehehe.
O que está acontecendo é que se eu coloco uma linha, ele mostra o resultado normal, se coloco duas linhas no jtable, ele ja vai dobrar o primeiro valor e somar com o segundo. Se eu colocar uma terceira linha, ele vai somar 3 vezes o valor da primeira, 2 vezes o da segunda e uma da terceira linha e assim por diante… E não é bem isso que eu queria.
Alguém pode me ajudar?

Ai vai o código:

[code]salariosFinais = new ArrayList();
numeroDeLinhas = modelo.getRowCount();
for (i=0; i<numeroDeLinhas; i++){
String valores = modelo.getValueAt(i, 3).toString();
Double a = Double.parseDouble(valores);
salariosFinais.add(a);
total = total + salariosFinais.get(i);

				}
				
				
				JOptionPane.showMessageDialog(null, "Saldo Final: " + total );
				}[/code]

Muito obrigado desde já!

cara nem fiquei vendo muito o código, mas vou dar umas dicas…
primeiramente, não vi você inicializando o valor da variável total em nenhum lugar, por isso;

//antes do for
double total = 0D;

e no laço for, que tal trocar o trecho

//dentro do for total = total + salariosFinais.get(i);
por

total = total + a;

Desculpe, nao colei o código inteiro pq ta meio bagunçado ainda. Mas eu havia declaro no código o total sim. Fiz essa mudança q vc falou mas continua no mesmo problema.
De qualquer forma, mt obrigado pela ajuda.
Alguém ainda pode ajudar??

Por favor, mais ninguém pode ajudar??
Preciso muito resolver isso e não estou conseguindo fazer sozinho.

Não vejo muita necessidade de utilizar um List neste caso. Tente fazer algo mais simples, como sugerido pelo colega andreiribas acima:

numeroDeLinhas = modelo.getRowCount();
double total = 0.0;
for (i=0; i<numeroDeLinhas; i++){
	String valores =  modelo.getValueAt(i, 3).toString();
	Double a = Double.parseDouble(valores);
	total += a;
}
JOptionPane.showMessageDialog(null, "Saldo Final: " + total );

verifique também se por acaso a variável total é na verdade um campo. Se for, você deve sempre zerá-la antes de entrar no “for” acima.

estava olhando o código e pelo que está aí… parece estar certo… acho que precisamos de mais informações sobre o código pra te ajudar… talvez se vc colocasse todo o método que roda quando vc clica no botao ficasse mais facil para nós…

Eu fiz como o mantu falou e resolveu. =)

Nossa, era algo tão simples e eu não notei.
Agora funcioou!!
Muito obrigado mesmo!!

edit: n tinha visto o post do Mantu.

Com aquele trecho mesmo resolveu…
Até agora não sei exatamente o que eu fiz de errado, mas a resolução foi mais simples do que eu tava imaginando.

Ueh… mas pelo q vi, o que o Mantu colocou foi o mesmo que o andreiribas sugeriu e vc tinha dito que nao tinha funcionado :shock:
Por isso fiquei procurando outra solução e não achei… e disse que já era pra estar funcionando… :roll:

Pois eh, mas o que eu fiz foi tirar a busca dentro de uma lista que eu estava fazendo.

Sugestão do andreiribas:

[quote=andreiribas]cara nem fiquei vendo muito o código, mas vou dar umas dicas…
primeiramente, não vi você inicializando o valor da variável total em nenhum lugar, por isso;

//antes do for
double total = 0D;

e no laço for, que tal trocar o trecho

//dentro do for total = total + salariosFinais.get(i);
por

total = total + a;

Sua resposta:

[quote=dragondepth]
Desculpe, nao colei o código inteiro pq ta meio bagunçado ainda. Mas eu havia declaro no código o total sim. Fiz essa mudança q vc falou mas continua no mesmo problema.[/quote]

Sugestão do Mantu igual à do andreiribas, porém com outras palavras:

Sua resposta:

hehehe

Desculpa!!! uheauhaeuhaehuaehuaeuhae
Não me crucifique!!! É que estou numa semana de muitas provas e ainda tenho que fazer um mini projeto em java. To meio atordoado com tudo.
Mas de qualquer maneira, muito obrigado a todos que ajudaram. =)

hehehe

tranquilo… boas provas :wink:

Só espero que ninguém me processe por plágio, hehehehe… Acabei por só ler os posts do OP e não reparei no post do colega andreiribas… Vou editar meu post para ficar mais justo!
Foi mal, galera! :mrgreen: