Dans ce programme, vous apprendrez à inverser un nombre en utilisant une boucle while et une boucle for en Java.
Pour comprendre cet exemple, vous devez avoir la connaissance des rubriques de programmation Java suivantes:
- Java pendant et faire… en boucle
- Java pour Loop
Exemple 1: inverser un nombre à l'aide d'une boucle while en Java
public class ReverseNumber ( public static void main(String() args) ( int num = 1234, reversed = 0; while(num != 0) ( int digit = num % 10; reversed = reversed * 10 + digit; num /= 10; ) System.out.println("Reversed Number: " + reversed); ) )
Production
Numéro inversé: 4321
Dans ce programme, la boucle while est utilisée pour inverser un nombre comme indiqué dans les étapes suivantes:
- Tout d'abord, le reste du nombre divisé par 10 est stocké dans le chiffre variable. Maintenant, le chiffre contient le dernier chiffre de num, c'est-à-dire que 4.
chiffre est ensuite ajouté à la variable inversée après l'avoir multipliée par 10. La multiplication par 10 ajoute une nouvelle place dans le nombre inversé. Une place multipliée par 10 vous donne la dixième place, la dixième vous donne le centième, et ainsi de suite. Dans ce cas, inversé contient 0 * 10 + 4 = 4.
num est alors divisé par 10 de sorte qu'il ne contient plus que les trois premiers chiffres: 123. - Après la deuxième itération, le chiffre est égal à 3, inversé est égal à 4 * 10 + 3 = 43 et num = 12
- Après la troisième itération, le chiffre est égal à 2, inversé est égal à 43 * 10 + 2 = 432 et num = 1
- Après la quatrième itération, le chiffre est égal à 1, inversé est égal à 432 * 10 + 1 = 4321 et num = 0
- Maintenant num = 0, donc l'expression de test
num != 0
échoue et la boucle while se termine. inversé contient déjà le nombre inversé 4321.
Exemple 2: inverser un nombre à l'aide d'une boucle for en Java
public class ReverseNumber ( public static void main(String() args) ( int num = 1234567, reversed = 0; for(;num != 0; num /= 10) ( int digit = num % 10; reversed = reversed * 10 + digit; ) System.out.println("Reversed Number: " + reversed); ) )
Production
Numéro inversé: 7654321
Dans le programme ci-dessus, la boucle while est remplacée par une boucle for où:
- aucune expression d'initialisation n'est utilisée
- l'expression de test reste la même (
num != 0
) - expression de mise à jour / incrémentation contient
num /= 10
.
Ainsi, après chaque itération, l'expression de mise à jour s'exécute, ce qui supprime le dernier chiffre de num.
À la sortie de la boucle for, inversé contiendra le numéro inversé.