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

Sign in to follow this  
iniciante

contar numeros

Recommended Posts

iniciante

alguem sabe como contar a quantidade de numeros inseridos pelo utilizador sem ser a inserilos para um array? é que eu quero inserir 4 numeros e quero que dé erro enquanto a quantidade de numeros for menor que 4!

exemplo:

    se inserir 1234 ele não dá erro

    se inserir 123 ele dá erro


RC

Share this post


Link to post
Share on other sites
softklin

Como estás a obter os números? Em String ou em Int? Numa linha ou em várias?

Se for em String, podes ver se o seu comprimento (.length) é inferior ao pretendido.


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
iniciante

estou a fazer com int...

System.out.println("Introduza o Numero de Identidade do Visitante(minimo 4 algarismos):");

                                        int  numIdentidade = scan.nextInt();


RC

Share this post


Link to post
Share on other sites
softklin

Então podes converter para String quando fazes a comparação, do género:

if( numIdentidade.toString().length < 4 ) {
  // informar do erro, e efectuar resto das acções
}


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
softklin

Pois, foi erro meu. Pelos vistos não dá para converter directamente porque o Int é tipo primitivo e não tem métodos associados.

http://www.dreamincode.net/forums/index.php?showtopic=20656&view=findpost&p=182173

Então, podes fazer uma chamada ao método toString da classe Integer, fica algo como:

if( Integer.toString(numIdentidade).length < 4 ) {
  // informar do erro, e efectuar resto das acções
}


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
iniciante

ok já consegui xD obrigado pela ajuda! só uma pequena correcção..

if( Integer.toString(numIdentidade).length() < 4 ) {
  // informar do erro, e efectuar resto das acções
}

uma ultima pergunta: o numIdentidade é convertido nessa instrução so para ver o tamanho, mas dps volta a ser inteiro certo?


RC

Share this post


Link to post
Share on other sites
softklin

Sim, continua a ser um inteiro. O que o método toString faz é devolver uma representação dos número em String, por exemplo "123456", mas não altera a variável numIdentidade.


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
softklin

Sim, mas se podes fazer em separado, é preferível. Para fazeres tudo junto, tinhas que obter sempre uma string, e depois saber se se tratava de um nome ou de um número, utilizando a função Integer.parseInt() e comparar os respectivos valores.

Se quiseres ir por aí, dá uma olhada em:

http://www.java2s.com/Code/Java/Language-Basics/Convertstringtoint.htm

ou pesquisa no motor de busca por "java convert string to int"


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
iniciante

ok ja consegui xD é mais fácil ter em separado claro...mas ter junto e fazer as coisas automaticas o professor dps dá mais notita  ;) e isto com um try catch e com o site que me deste resolve-se o problema num instante! obrigado mais uma vez!


RC

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
Sign in to follow this  

×

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.