Programa Java para invertir un número

En este programa, aprenderá a invertir un número usando un bucle while y un bucle for en Java.

Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación de Java:

  • Java while y do… while Loop
  • Java para Loop

Ejemplo 1: invertir un número usando un bucle 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); ) )

Salida

 Número invertido: 4321

En este programa, el bucle while se usa para invertir un número como se indica en los siguientes pasos:

  • Primero, el resto del número dividido por 10 se almacena en el dígito variable. Ahora, el dígito contiene el último dígito de num, es decir, 4.
    luego se agrega el dígito a la variable invertida después de multiplicarla por 10. La multiplicación por 10 agrega un nuevo lugar en el número invertido. Un lugar multiplicado por 10 le da el décimo lugar, el décimo le da el centésimo, y así sucesivamente. En este caso, reverse contiene 0 * 10 + 4 = 4.
    num se divide por 10 para que ahora solo contenga los primeros tres dígitos: 123.
  • Después de la segunda iteración, el dígito es igual a 3, invertido es igual a 4 * 10 + 3 = 43 y num = 12
  • Después de la tercera iteración, el dígito es igual a 2, invertido es igual a 43 * 10 + 2 = 432 y num = 1
  • Después de la cuarta iteración, el dígito es igual a 1, invertido es igual a 432 * 10 + 1 = 4321 y num = 0
  • Ahora num = 0, entonces la expresión de prueba num != 0falla y el ciclo while sale. invertido ya contiene el número invertido 4321.

Ejemplo 2: invertir un número usando un bucle 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); ) )

Salida

 Número invertido: 7654321

En el programa anterior, el ciclo while se reemplaza por un ciclo for donde:

  • no se utiliza ninguna expresión de inicialización
  • la expresión de prueba sigue siendo la misma ( num != 0)
  • La expresión de actualización / incremento contiene num /= 10.

Entonces, después de cada iteración, se ejecuta la expresión de actualización que elimina el último dígito de num.

Cuando el bucle for sale, reverse contendrá el número invertido.

Articulos interesantes...