Olá,
Gostaria de saber como posso “dividir” as posições de um numero inteiro.
por exemplo:
Tenho um número inteiro: 7498 e gostaria de pegar apenas a segunda posição deste meu numero inteiro no caso seria 4 (da esquerda para direita); na realidade eu precisaria pegar todos os numeros separadamente, mas não sei como poderia proceder para pegar cada numero separadamente.
Tambem gostaria de saber se é possivel o java identificar que ali possui 4 digitos;
agradeço desde já!!
O java não conta quantas “casas” um número possui, mas, você pode obter o valor de um número em forma de String, invocando o método toString da classe Integer, por exemplo.
Integer numero = "5643";
String strNum = numero.toString();
System.out.println(strNum.length());
Com isso, é possível utilizar os métodos da classe String e obter cada dígito separadamente.
Também é possível fazer isso através de matemática e divisão e alguns if/else…
Olá drsmachado,
Consigui verificar qnts casas tinha meu int b, tranformando ela em String como dito! o que já me ajuda bastante, porem eu nao consegui pegar a posição “exata” e repartir separadamente cada numero. 7,4,9 e 8 por exemplo, poderia dar um exemplo pratico?.
public class numero
{
public static void main(String[] args)
{
String a;
int b = 7459;
a = String.valueOf(b);
System.out.println("posicao - "+ a.length());
}
}
[quote=moisesnt] Olá drsmachado,
Consigui verificar qnts casas tinha meu int b, tranformando ela em String como dito! o que já me ajuda bastante, porem eu nao consegui pegar a posição “exata” e repartir separadamente cada numero. 7,4,9 e 8 por exemplo, poderia dar um exemplo pratico?.
public class numero
{
public static void main(String[] args)
{
String a;
int b = 100000;
a = String.valueOf(b);
System.out.println("posicao - "+ a.length());
}
}
[/quote]
Não vou te dar o peixe, mas te darei a dica de onde encontrar a melhor ferramenta para pescá-lo.
Você pode ler aqui a descrição do método charAt.
public class numero
{
public static void main(String[] args)
{
int d,e;
char c;
String a;
int b = 7458;
a = String.valueOf(b);
System.out.println("posicao - "+ a.length());
c = a.charAt(0);
System.out.println("posicao "+c);
int i = Character.getNumericValue(c);
System.out.println("resultado " + i);
System.out.println("resultado " + (i+i));
}
}
Consegui resolver meu problema com o charAt!, curiosamente ele tranforma o valor em um tipo Character, quando precisei convertelo devolta para inteiro não consegui utilizar o metodo Integer.parseInt(); tive de utilizar o character.getnumericvalue();
vlw
Não é curioso, é o que o método faz mesmo.
Se você leu a descrição deste método no link que passei, então poderá entender o seu funcionamento.