Duvida simples

2 respostas
TASF

boa tarde eu estou com uma duvida ,como posso faser para q no exemplo c o usuario nao por preencher nada cair no cacth

aki eu declaro

novo.setNome(null);// declaro como null ou  novo.setNome("");  
		novo.setNome(JOptionPane.showInputDialog("Digite seu nome "));//aki ele digita o nome  e deve acontecer q c ele nao por nada deve cair no catch

aki chamo o bloco

try {
			
			
		if((novo.getNome().equalsIgnoreCase("eu"))){// DIGO Q C O NOME FOR == A EU ELE VALIDAR  C O NOME FOR VASIO OU NULL DEVE ENTRA NO CATCH
			JOptionPane.showMessageDialog(null,"campo valido");
			System.out.println(novo.getNome());
		}
		} catch (Exception e) {
		System.out.println("erro no cadastro no nome "+e.getMessage());
		}

2 Respostas

ViniGodoy

Implemente seu método setNome assim:

public void setNome(String nome) { if (nome == null) throw new IllegalArgumentException("Por favor digite um nome!"); nome = nome.trim(); if (nome.isEmpty()) throw new IllegalArgumentException("O nome não pode ser vazio!"); this.nome = nome; }

E agora seu código pode ficar assim:

try { String nome = JOptionPane.showInputDialog(null, "Digite um nome"); novo.setNome(nome); } catch (IllegalArgumentException e) { JOptionPane.showMessageDialog(e.getMessage()); }

Andre_Rosa

Se entendi bem, você não precisa das cláusulas try/catch. Basta comparar:

String name = JOptionPane.showInputDialog("Seu nome: "); if (name == null) System.out.println("Nulo"); else if (name.equals("")) System.out.println("Vazio"); else System.out.println("Ola, " + name);


edit:

Esqueça o meu post, vá no do Vini.

Eu não sabia que dava pra fazer isso. :slight_smile:

Criado 11 de setembro de 2011
Ultima resposta 11 de set. de 2011
Respostas 2
Participantes 3