Como utilizar um return neste caso?

7 respostas
IagoRock

Pessoal é assim...

Estou criando uma biblioteca de validação de dados. E criei um método para saber se o que foi digitado é um valor númerico ou não.

Aqui vai o código:

public void setIsNumeric(String numero){
		
			boolean resposta = false;
		
			try {
			
				int testanto = Integer.parseInt (numero);			
				resposta = true;			
				
				System.out.println("É um número");
				
			}
			
			catch (Exception erro) {
			
				resposta = false;			
				System.out.println("Não é um número");
			
			}
			
			
		}

Na parte da codificação está tudo bem, ele funciona!

Mas o que eu quero saber é como eu faço para a classe que o utilizar o método setIsNumeric() receber o boolean da váriavel resposta, para saber se é um número ou não.

Vocês podem me ajudar?

Muito Obrigado!

^^

7 Respostas

Eder_Peixoto

O seu método é void, portanto não retorna nada. Você tem duas alternativas:

  1. Altera de void para boolean;
  2. Dispare uma Exception quando o valor não for numérico.
IagoRock

Valeu!

Vou tentar aqui!

^^

CarvalR2

Blz,

Imagino um método assim:

public Boolean isInteger(String numero){

boolean resposta = false;   
       
        try {   
            int testanto = Integer.parseInt (numero);             
            resposta = true;               
        }   catch (Exception erro) {   
            resposta = false;             
        }   

        return resposta;

}

O metodo chamaria isInteger e não isNumeric , pois numerico é genérico, podendo ser Double, Float, etc.
Mudaria também o tratamento da exceção … trataria (se não me engano é NumerException … e não Exception, pois eh uma exceção genérica)

Meu amigo,te recomendo fortemente o livro Effective Java , pois há boas práticas de programação. Coisas que realmente deixam seu código mais robusto. Ei li ele em 2002 . .e desde então melhorei muito a qualidade do meu software.

até+

CarvalR2

ha … vale a pena você fazer para você a biblioteca para aprender.
Mas para usar profissionalmente, te recomendo a suite Commons do Apache …
commons lang tem várias validações deste tipo.

IagoRock

Valeu pelas dicas.

Vou procurar este livro!

IagoRock

Valeu pela ajuda de vocês.

Consegui fazer funcionar meu método

Aqui vai o código:

Primeiro a método setIsNumeric().

public class Biblioteca_Validacao {

                boolean resposta;
	
		public void setIsNumeric(String numero){
		
		
			try {
			
				double testanto = Double.parseDouble (numero);			
				resposta = true;			
				
				System.out.println("É um número");
				
			}
			
			catch (Exception erro) {
			
				resposta = false;			
				System.out.println("Não é um número");
			
			}
			
			
		}
		
		public boolean setResposta() {
		
			return resposta;		
		
		}		
		
	}

Agora o arquivo para fazer o teste:

import javax.swing.JOptionPane;

	public class Teste {
	
		public static void main (String Args []) {
		
			Biblioteca_Validacao validacao = new Biblioteca_Validacao ();
			
			
			String testando = JOptionPane.showInputDialog (null, "Entre com um valor");
			
			
			validacao.setIsNumeric(testando);
			
			if (validacao.setResposta() == true) {
			
				JOptionPane.showMessageDialog (null, "É um número");
			
			
			}
			
			else {
			
				JOptionPane.showMessageDialog (null, "Não é um número");
			
			
			}		
		
		}		
	
	}
Eder_Peixoto

Olá Iago!

1. Métodos set: Em Java, quando o nome do método inicia com set, significa (isso é apenas um padrão, NÃO uma obrigação) que alterará algum atributo (variável que representa uma característica do teu objeto). Dessa forma, o teu método setIsNumeric dá a entender que alterará algo.

Ex.:

public void setName( final String name ) throws NulPointerException;

2. Métodos get: Da mesma forma que o item acima, métodos que iniciam com get subentende-se que retornarão alguma informação.

Ex.:

public String getName( );

2. Métodos is: Quando o método inicia com is, significa que irá avaliar o objeto que você informou como parâmetro.

Ex.:

public boolean isNameExist( final String name ) throws NullPointerException;
Criado 4 de junho de 2010
Ultima resposta 9 de jun. de 2010
Respostas 7
Participantes 3