Comment obtenir les chiffres séparés d'un numéro d'Int dans Java

Rupam Yadav 12 octobre 2023
  1. Le % (mod) pour obtenir le reste du nombre entier donné
  2. String.toCharArray() pour obtenir le tableau de caractères
  3. number.split("(?<=.)") Méthode pour obtenir le tableau de chaînes de caractères et ensuite les diviser
  4. Séparation des chiffres d’un Int en utilisant la récursion
Comment obtenir les chiffres séparés d'un numéro d'Int dans Java

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
Auteur: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

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

Article connexe - Java Int