Problema ao tratar uma variavel do tipo Integer

1 resposta
gutotal

Boa tarde pessoal!

Estou com o seguinte problema para tratar uma variavel do tipo integer. Toda vez que eu tento buscar a informação da tela e repassar para o banco o eclipse me retorna este erro:

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: ""
	at java.lang.NumberFormatException.forInputString(Unknown Source)
	at java.lang.Integer.parseInt(Unknown Source)
	at java.lang.Integer.parseInt(Unknown Source)
	at controle.controleClientePF.actionPerformed(controleClientePF.java:95)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)

O erro é referente a este trecho do codigo da minha classe de controle:

if (e.getActionCommand().equals("Incluir")) {
				Pessoafisica = new PessoaFisica();
				Pessoafisica.setNome(txtNome.getText());
				Pessoafisica.setRg(txtRg.getText());
				Pessoafisica.setCpf(txtCpf.getText());
				//txtDatNasc.setText((Pessoafisica.getDataNasc().toString()));; 
				Pessoafisica.setLogradouro(txtRua.getText());
				Pessoafisica.setNumero(Integer.parseInt(txtNumero.getText())); //####Este é o trecho que ocorre o erro!####
				Pessoafisica.setComplemento(txtComplemento.getText());
				Pessoafisica.setBairro(txtBairro.getText());
				Pessoafisica.setCidade(txtCidade.getText());
				Pessoafisica.setCep(txtCep.getText());
				Pessoafisica.setTelefone(txtTelefone.getText());
				Pessoafisica.setEmail(txtEmail.getText());
				try {
					dao.incluir(Pessoafisica);
				} catch (Exception e1) {
					JOptionPane.showMessageDialog(visao, "Erro na inclusão de dados");
				}
			}

Não é desta forma que o tratamento de uma variavel Integer para String deve ser feito???

Obrigado

1 Resposta

nel

Que é dessa forma, é, problema é que sua String está vazia e logo, uma vazia não pode ser convertida para Integer.
Faça uma simples verificação antes disso:

// se a string não for vazia if (!txtNumero.getText().trim().isEmpty()) { pessoaFisica.setNumero(Integer.parseInt(txtNumero.getText())); }

Busque dar nome iniciando com letras minusculas (há exceções, como constantes) ok?
Podes até fazer validação para ver se contém apenas números e etc.

Abraços.

Criado 17 de novembro de 2011
Ultima resposta 17 de nov. de 2011
Respostas 1
Participantes 2