En esta sección aprenderemos cómo invertir un número en Java usando mientras bucle , en bucle y recursividad .
Para revertir un número, siga los pasos que se detallan a continuación:
- Primero, encontramos el resto del número dado usando el operador de módulo (%).
- Multiplica la variable inversa por 10 y suma el resto.
- Divide el número por 10.
Repita los pasos anteriores hasta que el número sea 0.
ridhima tiwari
Hay tres Formas de invertir un número en Java :
- Invertir un número usando el bucle while
- Invertir un número usando el bucle for
- Invertir un número usando recursividad
Apliquemos los pasos anteriores en un ejemplo.
Ejemplo
Supongamos que queremos invertir el número 1234.
En este ejemplo, hemos tomado tres variables llamadas número (el número a invertir), resto (almacena el resto), contrarrestar (almacena el número inverso) inicializado 0.
Iteración 1:
lógica de primer ordennúmero = 1234
resto = 1234 % 10 = 4
inversa = 0 * 10 + 4 = 0 + 4 = 4
número = 1234/10 = 123
Ahora el valor del número y la variable inversa es 123 y 4, respectivamente.
Iteración 2:
número = 123resto = 123 % 10 = 3
reverso = 4 * 10 + 3 = 40 + 3 = 43
número = 123/10 = 12
Ahora el valor del número y la variable inversa es 12 y 43, respectivamente.
Iteración 3:
número = 12resto = 12 % 10 = 2
reverso = 43 * 10 + 2 = 430 + 2 = 432
número = 12 / 10 = 1
Ahora el valor del número y la variable inversa es 1 y 432, respectivamente.
Iteración 4:
¿Cómo encuentro aplicaciones ocultas en Android?número = 1
resto = 1 % 10 = 1
reverso = 432 * 10 + 1 = 4320 + 1 = 4321
número = 1/10 = 0
Ahora el número de la variable se convierte en 0. Por lo tanto, obtenemos el número inverso. 4321 .
Implementemos la lógica anterior en un programa java .
Invertir un número usando el bucle while
ReverseNumberExample1.java
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); } }
Producción
The reverse of the given number is: 456789
Invertir un número usando el bucle for
En el siguiente programa, hemos reemplazado el bucle while por un bucle for. También elimina el último dígito del número, después de cada iteración. Cuando la condición, numero!=0 se vuelve falso, el ciclo sale y obtenemos el número invertido.
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); } }
Producción
The reverse of the given number is: 654321
En el programa anterior, también podemos escribir el bucle for de la siguiente manera:
for(;number != 0;) { int remainder = number % 10; reverse = reverse * 10 + remainder; number=number/10; }
Invertir un número usando recursividad
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)>
Salida 2:
Enter the number that you want to reverse: 7654123 The reverse of the given number is: 3214567
El siguiente programa invierte ambos números, positivos y negativos. Cuando ingresamos un número, primero verifica que el número sea positivo o negativo. Si el número es negativo, lo convierte en positivo multiplicando -1. Después de eso, realiza los mismos pasos (que hemos realizado en los programas anteriores) para invertir un número. Por último, vuelve a comprobar que el número es negativo o positivo. Para hacer que el número sea negativo, se multiplica nuevamente el número inverso por -1.
.siguiente java
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; } }
Salida 1:
Enter the number that you want to reverse: -98765 The reverse of the given number is: -56789
Salida 2:
Enter the number that you want to reverse: 321987 The reverse of the given number is: 789123
10)>