Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

iniciante

distingir int de string

Mensagens Recomendadas

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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 ;)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.