Programa trava por causa do while[resolvido]

1 resposta
P
oi, cada vez que clico no botão efetua pagamento o programa trava não tenho certeza mas acho que é por causa do while ele nao sai nunca dali estye é o código do meu botão:
b5.addActionListener (new ActionListener (){  
			public void actionPerformed(ActionEvent e)
			{
				try{
					Object valortotal=null;double m = 0,m1,dividaAtual = 0;
					String numeroParcela = null,valorParcela = null,valorRealPago = null,restanteParcela = null,dataPago = null,dataRealPago = null;
					resultado = comando.executeQuery("select valor_total from financeiro where rc_aluno='"+ t2.getText() +"'");
					if(resultado.next())
					{
						valortotal=resultado.getObject(1).toString();
					}
					for(int i=0;i<ft.length;i++)
					{
						while(ft[1][i].getText()!=null && !ft[1][i].getText().equals(null) && !ft[1][i].getText().equals(""))
						{	m=Double.parseDouble( ft[1][i].getText());//empty string
						m1=Double.parseDouble( valortotal.toString());
						dividaAtual=m1-m;
						}	
						if(l[i].getText()!=null && ft[0][i]!=null && ft[1][i]!=null && ft[2][i]!=null && ft[3][i]!=null && ft[4][i]!=null)
						{
							numeroParcela=l[i].getText();
							valorParcela=ft[0][i].getText();
							valorRealPago=ft[1][i].getText();
							restanteParcela=ft[2][i].getText();
							dataPago=ft[3][i].getText();
							dataRealPago=ft[4][i].getText();
						}
						}
					System.out.println("insert into financa_aluno (rc_aluno,numero_parcela,valor_parcela,valor_real_pgto,restante_parcela,data_pgto,data_real_pgto,valor_total,valor_atual) values ('" + t2.getText() + "','" + numeroParcela + "','" + valorParcela+ "','"+ valorRealPago +"','"+ restanteParcela +"','" +dataPago + "','" +dataRealPago + "','" +valortotal + "','" +dividaAtual + "')");
					comando.executeUpdate("delete from financa_aluno  where rc_aluno='" + t2.getText() + "'" );
					comando.executeUpdate("insert into financa_aluno (rc_aluno,numero_parcela,valor_parcela,valor_real_pgto,restante_parcela,data_pgto,data_real_pgto,valor_total,valor_atual) values ('" + t2.getText() + "','" + numeroParcela + "','" + valorParcela+ "','"+ valorRealPago +"','"+ restanteParcela +"','" +dataPago + "','" +dataRealPago + "','" +valortotal + "','" +dividaAtual + "')" );
					JOptionPane.showMessageDialog(null, "Dados editados com sucesso!");


				}
				catch (SQLException erro) {
					erro.printStackTrace();
				}	
			}});
cada vez que rodo o aplicativo e clico neste botao o b5 o programa trava! :shock: alguém sabe o q estou fazend errado? obrigada pela ajuda ;) consegui resolver trocando
while(ft[1][i].getText()!=null && !ft[1][i].getText().equals(null) && !ft[1][i].getText().equals(""))
por um if
if(ft[1][i].getText()!=null && !ft[1][i].getText().equals(null) && !ft[1][i].getText().equals(""))

1 Resposta

ivo_costa

Troque:

for(int i=0;i&lt;ft.length;i++)

por

for(int i=0;i&lt;ft[0].length;i++) >

Criado 18 de maio de 2011
Ultima resposta 18 de mai. de 2011
Respostas 1
Participantes 2