Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

iniciante

distingir int de string

Recommended Posts

iniciante

é possivel se eu fizer System.out.println("pesquisar por nome ou numero"); eu inserir um nome e ir para o conjunto de instruções de pesquisa por nome e se eu inserir um numero ele ir para o conjunto de instruções de pesquisa por numero? eu tenho isto a fazer em separado...mas queria saber se há maneira d fazer o que eu disse a cima..


RC

Share this post


Link to post
Share on other sites
iniciante

obrigado pelas respostas! com ajuda noutro topico ja consegui resolver o problema! deixo aqui os passos para mais tarde poder ajudar alquem!!

 

 
System.out.println("\n Introduza o nome ou numero:");
- receber a variavel como string
  try 
{ 
       -tentar fazer a conversão de string para int
      - caso seja possivel quer dizer que o que inserimos é inteiro e ai  fazer o conjunto de instruções 
}
catch (Exception e)
{
        -caso o try n seja possível quer dizer que o que escrevemos foi uma string e aqui metemos as instruções que queremos
}

bem espero que esteja de maneira a que quem precise consiga perceber!

obrigado a todos


RC

Share this post


Link to post
Share on other sites
Knitter

As excepções não foram feitas para isso, comparando as velocidades, utilizar uma expressão regular é capaz de ser melhor, de qualquer modo um simples ciclo é suficiente, mais rápido e com uso mais correcto das funcionalidades da linguagem.

 s.matches("\\d+");

Diz se é um inteiro usando o método das Strings com expressões regulares.

for(char ch : s.toCharArray()) {
    if(!Character.isDigit(ch)) {
        return false;
    }
}
return true;

Utilizando um ciclo para verificar os caracteres, caso algum não seja um dígito então toda a string é texto. O ciclo pode ser alterado usando outros métodos de verificação de dígitos mas este é simples.

Dependendo de como estás a fazer a conversão para int, é possível introduzir um int que vá lançar a excepção. Além disso, a verificação através do método parseInt usa exactamente o mesmo código que te indiquei acima ;)

Share this post


Link to post
Share on other sites
iniciante

eu sendo iniciante nisto fui por aquilo que consegui fazer e conhecia...mas sim dessa forma realmente esta mais correcto e secalhar vou por ai xD obrigado uma vez mais pela ajuda


RC

Share this post


Link to post
Share on other sites
Knitter

Não há TryParse em Java?

Não, em Java não há um método que te informe se a conversão teve ou não sucesso, os métodos de conversão lançam excepções em alguns casos, mas mais que isso apenas se implementares um TryParse como método utilitário.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.