contar numeros - Java - Portugal-a-Programar
By iniciante, January 5, 2010 in Java
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!
se inserir 1234 ele não dá erro
se inserir 123 ele dá erro
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.
estou a fazer com int...
System.out.println("Introduza o Numero de Identidade do Visitante(minimo 4 algarismos):");
int numIdentidade = scan.nextInt();
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
dá erro...diz "int cannot be dereferenced"
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 ) {
ok já consegui xD obrigado pela ajuda! só uma pequena correcção..
if( Integer.toString(numIdentidade).length() < 4 ) {
uma ultima pergunta: o numIdentidade é convertido nessa instrução so para ver o tamanho, mas dps volta a ser inteiro certo?
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.
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"
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!