Dans cette section, nous apprendrons comment inverser un nombre en Java en utilisant boucle while , pour la boucle et récursivité .
Pour inverser un numéro, suivez les étapes ci-dessous :
- Tout d’abord, nous trouvons le reste du nombre donné en utilisant l’opérateur modulo (%).
- Multipliez la variable reverse par 10 et ajoutez-y le reste.
- Divisez le nombre par 10.
Répétez les étapes ci-dessus jusqu'à ce que le nombre devienne 0.
carte d'itération Java
Il y a trois façons d'inverser un nombre dans Java :
- Inverser un nombre en utilisant la boucle while
- Inverser un nombre en utilisant la boucle for
- Inverser un nombre en utilisant la récursion
Appliquons les étapes ci-dessus dans un exemple.
Exemple
Supposons que nous voulions inverser le nombre 1234.
Dans cet exemple, nous avons pris trois variables nommées nombre (le numéro à inverser), reste (stocke le reste), inverse (stocke le numéro inverse) initialisé 0.
Itération 1 :
fonction de flèche dactylographiéenombre = 1234
reste = 1234 % 10 = 4
inverse = 0 * 10 + 4 = 0 + 4 = 4
nombre = 1234 / 10 = 123
Désormais, la valeur du nombre et de la variable inverse est respectivement 123 et 4.
Itération 2 :
nombre = 123reste = 123 % 10 = 3
inverse = 4 * 10 + 3 = 40 + 3 = 43
nombre = 123 / 10 = 12
Désormais, la valeur du nombre et de la variable inverse est respectivement 12 et 43.
Itération 3 :
nombre = 12reste = 12 % 10 = 2
inverse = 43 * 10 + 2 = 430 + 2 = 432
nombre = 12 / 10 = 1
Désormais, la valeur du nombre et de la variable inverse est respectivement 1 et 432.
Itération 4 :
nombre = 1reste = 1 % 10 = 1
inverse = 432 * 10 + 1 = 4320 + 1 = 4321
nombre = 1 / 10 = 0
Maintenant, le nombre variable devient 0. Par conséquent, nous obtenons le nombre inverse 4321 .
Implémentons la logique ci-dessus dans un Programme Java .
Inverser un nombre en utilisant la boucle while
ReverseNumberExample1.java
javascript pour la boucle
public class ReverseNumberExample1 { public static void main(String[] args) { int number = 987654, reverse = 0; while(number != 0) { int remainder = number % 10; reverse = reverse * 10 + remainder; number = number/10; } System.out.println('The reverse of the given number is: ' + reverse); } }
Sortir
The reverse of the given number is: 456789
Inverser un nombre en utilisant la boucle for
Dans le programme suivant, nous avons remplacé la boucle while par une boucle for. Il supprime également le dernier chiffre du numéro, après chaque itération. Lorsque l'état, numéro!=0 devient faux, la boucle se termine et on obtient le nombre inversé.
ReverseNumberExample2.java
public class ReverseNumberExample2 { public static void main(String[] args) { int number = 123456, reverse = 0; //we have not mentioned the initialization part of the for loop for( ;number != 0; number=number/10) { int remainder = number % 10; reverse = reverse * 10 + remainder; } System.out.println('The reverse of the given number is: ' + reverse); } }
Sortir
The reverse of the given number is: 654321
Dans le programme ci-dessus, nous pouvons également écrire la boucle for comme suit :
inclure la programmation c
for(;number != 0;) { int remainder = number % 10; reverse = reverse * 10 + remainder; number=number/10; }
Inverser un nombre en utilisant la récursion
ReverseNumberExample3.java
import java.util.Scanner; public class ReverseNumberExample3 { //method for reverse a number public static void reverseNumber(int number) { if (number <10) 10 { prints the same number if is less than system.out.println(number); return; } else system.out.print(number % 10); reversenumber(number public static void main(string args[]) system.out.print('enter that you want to reverse: '); scanner sc="new" scanner(system.in); int num="sc.nextInt();" system.out.print('the reverse of given is: method calling reversenumber(num); < pre> <p> <strong>Output 1:</strong> </p> <pre> Enter the number that you want to reverse: 9 The reverse of the given number is: 9 </pre> <p> <strong>Output 2:</strong> </p> <pre> Enter the number that you want to reverse: 7654123 The reverse of the given number is: 3214567 </pre> <p>The following program reverses both numbers, positive and negative. When we enter a number, it first checks the number is positive or negative. If the number is negative, it converts the number into positive by multiplying -1. After that, it performs the same steps (as we have performed in the above programs) to reverse a number. At last, again it checks the number is negative or positive. To make the number negative, it again multiplies the reverse number by -1.</p> <p> <strong>ReverseNumberExample4.java</strong> </p> <pre> import java.util.*; public class ReverseNumberExample4 { public static void main(String args[]) { System.out.print('Enter the number that you want to reverse: '); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int reverse_number = reverseNumber(n); System.out.println('The reverse of the given number is: '+reverse_number); } //method to reverse a number public static int reverseNumber(int number) { boolean isNoNegative = number = 1) { lastDigit = number % 10; // gives the last digit of the number reverse = reverse * 10 + lastDigit; number = number / 10; // removes the last digit of the number } //makes the number negative return isNoNegative == true? reverse*-1 : reverse; } } </pre> <p> <strong>Output 1:</strong> </p> <pre> Enter the number that you want to reverse: -98765 The reverse of the given number is: -56789 </pre> <p> <strong>Output 2:</strong> </p> <pre> Enter the number that you want to reverse: 321987 The reverse of the given number is: 789123 </pre> <hr></10)>
Sortie 2 :
Enter the number that you want to reverse: 7654123 The reverse of the given number is: 3214567
Le programme suivant inverse les deux nombres, positifs et négatifs. Lorsque nous saisissons un nombre, il vérifie d’abord que le nombre est positif ou négatif. Si le nombre est négatif, il convertit le nombre en positif en multipliant -1. Après cela, il effectue les mêmes étapes (que celles que nous avons effectuées dans les programmes ci-dessus) pour inverser un nombre. Enfin, il vérifie à nouveau que le nombre est négatif ou positif. Pour rendre le nombre négatif, il multiplie à nouveau le nombre inverse par -1.
ReverseNumberExample4.java
import java.util.*; public class ReverseNumberExample4 { public static void main(String args[]) { System.out.print('Enter the number that you want to reverse: '); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int reverse_number = reverseNumber(n); System.out.println('The reverse of the given number is: '+reverse_number); } //method to reverse a number public static int reverseNumber(int number) { boolean isNoNegative = number = 1) { lastDigit = number % 10; // gives the last digit of the number reverse = reverse * 10 + lastDigit; number = number / 10; // removes the last digit of the number } //makes the number negative return isNoNegative == true? reverse*-1 : reverse; } }
Sortie 1 :
Enter the number that you want to reverse: -98765 The reverse of the given number is: -56789
Sortie 2 :
Enter the number that you want to reverse: 321987 The reverse of the given number is: 789123
10)>