Hay tres formas de invertir un número en Java.
1) Uso del bucle while
2) Usando el bucle for
3) Usando recursividad
4) Invierta el número sin interacción del usuario
Programa 1: Invierta un número usando while Loop
El programa le pedirá al usuario que ingrese el número y luego invierta el mismo número usando el ciclo while.
import java.util.Scanner; class ReverseNumberWhile { public static void main(String args[]) { int num=0; int reversenum =0; System.out.println("Input your number and press enter: "); //This statement will capture the user input Scanner in = new Scanner(System.in); //Captured input would be stored in number num num = in.nextInt(); //While Loop: Logic to find out the reverse number while( num != 0 ) { reversenum = reversenum * 10; reversenum = reversenum + num%10; num = num/10; } System.out.println("Reverse of input number is: "+reversenum); } }
Producción:
Input your number and press enter: 145689 Reverse of input number is: 986541
Programa 2: Invierta un número usando for Loop
import java.util.Scanner; class ForLoopReverseDemo { public static void main(String args[]) { int num=0; int reversenum =0; System.out.println("Input your number and press enter: "); //This statement will capture the user input Scanner in = new Scanner(System.in); //Captured input would be stored in number num num = in.nextInt(); /* for loop: No initialization part as num is already * initialized and no increment/decrement part as logic * num = num/10 already decrements the value of num */ for( ;num != 0; ) { reversenum = reversenum * 10; reversenum = reversenum + num%10; num = num/10; } System.out.println("Reverse of specified number is: "+reversenum); } }
Producción:
Input your number and press enter: 56789111 Reverse of specified number is: 11198765
Programa 3: invertir un número usando la recursividad
import java.util.Scanner; class RecursionReverseDemo { //A method for reverse public static void reverseMethod(int number) { if (number < 10) { System.out.println(number); return; } else { System.out.print(number % 10); //Method is calling itself: recursion reverseMethod(number/10); } } public static void main(String args[]) { int num=0; System.out.println("Input your number and press enter: "); Scanner in = new Scanner(System.in); num = in.nextInt(); System.out.print("Reverse of the input number is:"); reverseMethod(num); System.out.println(); } }
Producción:
Input your number and press enter: 5678901 Reverse of the input number is:1098765
Ejemplo: invertir un número ya inicializado
En todos los programas anteriores, le pedimos al usuario el número de entrada, sin embargo, si no desea la parte de interacción del usuario y desea revertir un número inicializado, así es como puede hacerlo.
class ReverseNumberDemo { public static void main(String args[]) { int num=123456789; int reversenum =0; while( num != 0 ) { reversenum = reversenum * 10; reversenum = reversenum + num%10; num = num/10; } System.out.println("Reverse of specified number is: "+reversenum); } }
Producción:
Reverse of specified number is: 987654321