Como obter os dígitos separados de um número Int em Java
-
%
(mod
) para obter o restante do número inteiro dado -
String.toCharArray()
para Obter a array de caracteres -
number.split("(?<=.)")
Método para obter a array de caracteres e, em seguida, dividi-los - Dígitos Separados de uma Recurssão Int
Java oferece muitos métodos para trabalhar com inteiros. Veremos como podemos extrair e separar cada um dos dígitos de um número int.
%
(mod
) para obter o restante do número inteiro dado
Podemos obter cada um dos dígitos de um número inteiro usando o método restante. Java nos permite obter o restante de qualquer número inteiro utilizando o operador %
(mod).
Mas a simples obtenção do restante nos dará o resultado na ordem inversa. É por isso que utilizaremos uma pilha de LinkedList
. Na qual empurraremos cada um dos lembretes e depois abriremos um a um, fornecendo-nos o resultado desejado.
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
int number = 12223;
LinkedList<Integer> stack = new LinkedList<Integer>();
while (number > 0) {
stack.push(number % 10);
number = number / 10;
}
while ((!stack.isEmpty())) {
System.out.println(stack.pop());
}
}
}
Resultado:
1
2
2
2
3
String.toCharArray()
para Obter a array de caracteres
Outra maneira de separar os dígitos de um número int é utilizando o método toCharArray()
.
Converteremos o número inteiro em uma string e então utilizaremos o toCharArray()
da string para obter a array de caracteres. Agora podemos imprimir todos os caracteres um a um. Mais tarde, podemos converter os caracteres de volta ao formato inteiro.
public class Main {
public static void main(String[] args) {
int number1 = 12223;
String number = String.valueOf(number1);
char[] digits1 = number.toCharArray();
for (int i = 0; i < digits1.length; i++) {
System.out.println(digits1[i]);
}
}
}
Resultado:
1
2
2
2
3
number.split("(?<=.)")
Método para obter a array de caracteres e, em seguida, dividi-los
Este método é similar ao acima, mas aqui estamos utilizando o split
, uma função do String
.
public class Main {
public static void main(String[] args) {
int number1 = 12223;
String number = String.valueOf(number1);
String[] digits = number.split("(?<=.)");
for (int i = 0; i < digits.length; i++) {
System.out.println(digits[i]);
}
}
}
Resultado:
1
2
2
2
3
Dígitos Separados de uma Recurssão Int
Podemos usar a técnica de recorrência para tirar os dígitos de uma int de uma forma mais direta.
O método recursion()
toma o número como argumento e depois se autodenomina dividindo o número com 10. É o número de vezes que o método será chamado.
public class Main {
public static void main(String[] args) {
recursion(12223);
}
public static void recursion(int number) {
if (number > 0) {
recursion(number / 10);
System.out.printf(number % 10);
}
}
}
Resultado:
1
2
2
2
3
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn