Exception, Somente letras[Resolvido]

3 respostas
igor972

Galera, tenho um exercicios pra faculdade sobre try e catch …

O problema é o seguinte:
Tenho que solicitar o nome do cliente e gerar uma Exception, caso contenha números no nome.

Para verificar se tem letra em uma variável int é facil: NumberFormatException
Para verificar se tem numeros em uma string, existe uma exception algo parecido com o: NumberFormatException

import javax.swing.JOptionPane;


public class Cap10 {

	public static void main(String[] args) {

	String nome;
	double salario;
	double fgts;
	//int	   a=2;	
	
	try{  
	    	nome=(JOptionPane.showInputDialog("Entre com o nome do funcionario: "));
	    	
			salario=Double.parseDouble((JOptionPane.showInputDialog("Entre com o salário do funcionario: ")));
	}	
		
	
	
	catch (NumberFormatException nf){
			JOptionPane.showMessageDialog(null,"Entre somente com Números! \n" +
											   "Exemplo: \n" +
											   "Salário: 1000");
	}
		
	catch(?????????){
			JOptionPane.showMessageDialog(null,"Não pode conter numeros em nomes \n" +
					   "Exemplo: \n" +
					   "Salário: 1000");
			
		}
	
	}
		
}

Valews

3 Respostas

sunwebdeveloper

Cara,
Por tratar-se de um parâmetro de entrada de usuário, eu sempre lanço uma:

throw new IllegalArgumentException();

que é uma uncheked exception filha de RuntimeException()…

Espero ter ajudado.

lina

Oi,

Pode-se fazer algo do tipo:

import javax.swing.JOptionPane;
public class Cap10 {

	public static void main(String[] args) {

	String nome;
	double salario;
	double fgts;
	//int	   a=2;	
	
	try{  
	    	nome=(JOptionPane.showInputDialog("Entre com o nome do funcionario: "));

                for(int i = 0; i < nome.length(); i++){
                     Character caractere = nome.charAt(i);
                     if(Character.isDigit(caractere)){
                                   throw new Exception("Não pode conter numeros em nomes \n" +
			                         		   "Exemplo: \n" +
                          					   "Salário: 1000");
                    }
                }
	    	
			salario=Double.parseDouble((JOptionPane.showInputDialog("Entre com o salário do funcionario: ")));
	}	
		
	
	
	catch (NumberFormatException nf){
			JOptionPane.showMessageDialog(null,"Entre somente com Números! \n" +
											   "Exemplo: \n" +
											   "Salário: 1000");
	}
		
	catch(Exception ex ){
			JOptionPane.showMessageDialog(null,""+ex);
			
		}
	
	}
		
}

Agora é só adaptar.
Tchauzin!

igor972

Valew pessoal!!

Lina, tu é foda!!!

Brigadão. Agora entendi!

Criado 17 de maio de 2011
Ultima resposta 17 de mai. de 2011
Respostas 3
Participantes 3