Comment obtenir les chiffres séparés d'un numéro d'Int dans Java
-
Le
%
(mod
) pour obtenir le reste du nombre entier donné -
String.toCharArray()
pour obtenir le tableau de caractères -
number.split("(?<=.)")
Méthode pour obtenir le tableau de chaînes de caractères et ensuite les diviser - Séparation des chiffres d’un Int en utilisant la récursion
Java offre de nombreuses méthodes pour travailler avec des entiers. Nous verrons comment nous pouvons extraire et séparer chaque chiffre d’un nombre entier.
Le %
(mod
) pour obtenir le reste du nombre entier donné
Nous pouvons obtenir chaque chiffre d’un nombre entier en utilisant la méthode du reste. Java nous permet d’obtenir le reste de n’importe quel nombre entier en utilisant l’opérateur %
(mod).
Mais le simple fait d’obtenir le reste nous donnera le résultat dans l’ordre inverse. C’est pourquoi nous utiliserons une pile LinkedList
. Dans laquelle nous pousserons chaque rappel et nous les ferons apparaître un par un, nous donnant ainsi le résultat souhaité.
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());
}
}
}
Production:
1
2
2
2
3
String.toCharArray()
pour obtenir le tableau de caractères
Une autre façon de séparer les chiffres d’un nombre int est d’utiliser la méthode toCharArray()
.
Nous allons convertir le nombre entier en une chaîne de caractères, puis utiliser la méthode toCharArray()
pour obtenir le tableau des caractères. Nous pouvons maintenant imprimer tous les caractères un par un. Plus tard, nous pourrons reconvertir les caractères au format entier.
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]);
}
}
}
Production:
1
2
2
2
3
number.split("(?<=.)")
Méthode pour obtenir le tableau de chaînes de caractères et ensuite les diviser
Cette méthode est similaire à la précédente, mais ici nous utilisons split
, une fonction de 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]);
}
}
}
Production:
1
2
2
2
3
Séparation des chiffres d’un Int en utilisant la récursion
Nous pouvons utiliser la technique de récursion pour extraire les chiffres d’un int de manière plus directe.
La méthode recursion()
prend le nombre comme argument et s’appelle ensuite elle-même en divisant le nombre par 10. C’est le nombre de fois que la méthode sera appelée.
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);
}
}
}
Production:
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