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