Ejercicio 14. Número Inverso

Escribe un programa que reciba un número de dos cifras y muestre por pantalla el número invertido.

Este ejercicio, lo vamos a realizar con los conocimientos que tenemos hasta el momento, es decir, no podemos controlar que se introduzca por teclado un número de una cifra o de más de dos, al igual que tampoco controlamos el tipo de dato, esto quiere decir, que este ejercicio se puede mejorar añadiendo eso tipo de controles… ¿lo arreglamos después?

Pero en un principio, analicemos como lo haríamos teniendo en cuenta que, hasta el momento, partimos de unos conocimiento básicos, que no nos permiten utilizar funciones específicas para llevar a cabo este ejercicio y no vamos a controlar los posibles fallos en la entrada de datos.

Si aún no te ha quedado muy claro lo que se nos pide para este ejercicio, se trata de recibir un número de dos cifras, por ejemplo 45, y debemos devolver por pantalla su inverso, 54.

Por tanto, la opción que utilicé para llevarlo a cabo necesité cuatro variables de tipo int.

numero para la lectura por teclado del número que introducirá el usuario.
digito1 para almacenar en memoria el primero de los dígitos
digito2 para almacenar en memoria el segundo dígito
inverso esta variable es opcional, pero para mayor legibilidad también la utilizaremos.

Una vez recibamos por teclado el numero, debemos segmentarlo para poder calcular su número inverso, como sabemos que el número que se ha de introducir siempre va a ser de dos cifras, podemos utilizar la división por 10 para así obtener el resultado quedándonos con la parte entera (al utilizar tipo int lo hará de forma automática)

Por ejemplo:
numero = 45
digito1 = 45 / 10 = 4
digito2 = sería el resto del número dado 45 – (4*10) = 5
inverso = digito2 * 10 + digito1 = 50*10 + 4 = 54

Como vemos realizar este programa es bastante sencillo, sólo hemos cambiado la operación matemática para calcular el resto, por el operador “resto” o “módulo” (%) que nos ofrece Java para dar una mayor legibilidad al programa.

package ejerciciosSecuenciales;

import java.util.Scanner;

/**
14 Ejercicios secuenciales en Java

Recibe un número de dos cifras, y devuelve su inverso.

@author: manolohidalgo_
@date: 02-11-19
*/

// Inicio del programa y declaración de variables:
public class Ejercicio14InvierteNumero {
  public static void main(String[] args) {
    Scanner scanner = new Scanner (System.in);
    int numero;
    int digito1;
    int digito2;
    int inverso;

// Solicitud de datos al usuario
    System.out.println("Este programa calcula el número inverso a uno dado de dos cifras.");
    System.out.print("Introduce el valor del número: ");
    numero = scanner.nextInt();
// Realizamos Cálculos 
    digito1 = numero / 10;
    digito2 = numero % 10;
    inverso = digito2 *10 + digito1;

// Mostramos en pantalla
    System.out.println("El numero inverso es "+inverso);
    
  }
}

Puedes acceder a este ejercicio en GitHub en este enlace

Si tienes alguna duda al respecto, alguna sugerencia o algo que no te haya quedado claro, no tienes más que escribirme en los comentarios, estoy aquí para ayudarte y aprender, ¡Nos leemos!