Java >> Tutoriel Java >  >> Java

Itérer à travers les chiffres d'un nombre Java

Itérer sur les chiffres d'un nombre Java | Dans la section, nous traitons des chiffres que nous itérons sur chaque chiffre d'un nombre et extrayons le même. Par exemple :-
Numéro :- 123
Résultat :- 1 2 3

Nous pouvons parcourir les chiffres d'un nombre Java de la manière suivante,
1) En utilisant l'opérateur modulo (%)
2) En utilisant l'opérateur modulo &Math.pow()
3 ) En utilisant la méthode Integer.toString()

Cas d'utilisation :- En itérant les chiffres d'un nombre, vous pouvez trouver la somme des chiffres d'un nombre, la somme des chiffres pairs d'un nombre, la somme des chiffres impairs d'un nombre, la somme du premier et du dernier chiffre d'un nombre, la somme des chiffres jusqu'à seul chiffre, trouver le nombre d'occurrences d'un chiffre particulier dans le nombre donné (par exemple :- trouver le nombre d'occurrences de 9 dans le nombre donné), et e.t.c.

Itérer sur les chiffres d'un nombre Java à l'aide de l'opérateur modulo

Nous savons tous que l'opérateur module renvoie le reste de la division. Par exemple :- 123 % 10 donne 3, de même 3245 % 100 donne 45.

import java.util.Scanner;

public class Main {

   public static void main(String[] args) {
      Scanner scan = new Scanner(System.in);
      System.out.print("Enter a number: ");
      int num = scan.nextInt();

      // if number is negative then make it positive
      if (num < 0) {
         num *= -1;
      }

      System.out.println("Digits in the given number are: ");
      while (num != 0) {
         int remainder = num % 10;
         System.out.print(remainder + " ");
         num = num / 10;
      }

      scan.close();
   }
}

Sortie :-

Entrez un nombre :748465455
Les chiffres du nombre donné sont :
5 5 4 5 6 4 8 4 7

Entrez un nombre :-123456789
Les chiffres du nombre donné sont :
9 8 7 6 5 4 3 2 1

L'explication du code est la suivante :-
Etape-1 :- Dans la classe principale, créez la méthode principale.
Etape-2 :- Initialisez une variable avec un certain nombre.
Etape-3 :- Utilisez la boucle while pour itérer sur le nombre, la boucle est exécutée jusqu'à ce que la condition devienne fausse.
Etape-4 :- Ensuite, à l'intérieur de la boucle while, utilisez l'opérateur modulus et obtenez le reste du nombre. Une fois divisé par 10, imprimez le reste, puis divisez à nouveau le nombre par 10. Répétez cette opération pour chaque chiffre du nombre donné.

Le programme ci-dessus pour parcourir les chiffres d'un nombre Java, parcourir le chiffre dans l'ordre inverse . Par exemple, si le nombre est 123456, il traverse de droite à gauche comme 6, 5, 4, 3, 2 et 1. Mais si nous voulons parcourir les chiffres de gauche à droite, nous pouvons prendre l'aide de Math.pow( ) opérateurs de méthode, de division et de modulo.

Itérer sur les chiffres d'un nombre Java à l'aide de Math.pow() et d'opérateurs

Voyons un autre programme pour parcourir les chiffres d'un nombre Java de gauche à droite en utilisant la méthode Math.pow(), les opérateurs de division et de modulo. La méthode Math.pow() renvoie la valeur double, nous devons donc les convertir en valeur int en utilisant le transtypage.

import java.util.Scanner;

public class Main {

   public static void main(String[] args) {
      Scanner scan = new Scanner(System.in);
      System.out.print("Enter a number: ");
      int num = scan.nextInt();

      // if number is negative then make it positive
      if (num < 0) {
         num *= -1;
      }

      // count number of digits
      int temp = num;
      int totalDigits = 0;
      while (temp != 0) {
         totalDigits++;
         temp /= 10;
      }

      // iterate through each digit of the number
      System.out.println("Digits in the given number are: ");
      for (int i = totalDigits - 1; i >= 0; i--) {
         int digit = (num / (int) Math.pow(10, i)) % 10;
         System.out.print(digit + " ");
      }
      scan.close();
   }
}

Entrez un nombre :45158791
Les chiffres du nombre donné sont :
4 5 1 5 8 7 9 1

Entrez un nombre :-15414454
Les chiffres du nombre donné sont :
1 5 4 1 4 4 5 4

Programme Java pour parcourir les chiffres d'un nombre à l'aide d'une chaîne

Nous pouvons faire la même chose avec l'aide de String. Pour cela, nous devons convertir le nombre donné en chaîne. Après cela, nous traverserons chaque caractère de la chaîne. Plus tard, nous récupérerons le caractère à un index particulier en utilisant la méthode charAt() et convertirons ce caractère en valeur int.

Dans la classe Java String, la méthode String.valueOf() est donnée pour convertir tous les types de valeurs primitives en type chaîne. Il existe plusieurs formes surchargées de la méthode valueOf() dans la classe String.

import java.util.Scanner;

public class Main {

   public static void main(String[] args) {
      Scanner scan = new Scanner(System.in);
      System.out.print("Enter a number: ");
      int num = scan.nextInt();

      // if number is negative then make it positive
      if (num < 0) {
         num *= -1;
      }

      // convert number to string
      String digits = String.valueOf(num);

      System.out.println("Digits in the given number are: ");
      for (int i = 0; i < digits.length(); i++) {
         // find character at particular index and
         // convert character to int value
         int digit = 
            Integer.valueOf(String.valueOf(digits.charAt(i)));
         System.out.print(digit + " ");
      }
      scan.close();
   }
}

Sortie :-

Entrez un nombre :717485465
Les chiffres du nombre donné sont :
7 1 7 4 8 5 4 6 5

Entrez un nombre :-1456174115
Les chiffres du nombre donné sont :
1 4 5 6 1 7 4 1 1 5


Balise Java