DIVISIÓN ENTERA Y RESTANTE


En el módulo "Expresiones aritméticas" hablamos sobre las características de la operación de división en el lenguaje Java.
Recuerde que para datos enteros (tipo int) se pueden usar dos operaciones de división.
/ - división entera, cuando descartamos la parte fraccionaria como resultado de la operación de división
% - cálculo del resto de la división

¡RECUERDA!
En Java, el resultado de dividir un número entero por otro número entero – siempre es un número entero, el resto se descarta al dividir.

Ejemplo: int a,b; a = 10; b = 3; intc = a/b; // Respuesta: c = 3 int d = a%b; // Respuesta: d = 1 Estas operaciones son muy importantes en la programación. Deben entenderse y utilizarse correctamente. ¡Y eso requiere práctica!

 

La necesidad de aplicar la operación de calcular el resto de la división se hace visible cuando se trabaja con las cifras de un número. 

Analicemos la siguiente tarea:
Se proporciona un número de tres dígitos. Muestre todos los dígitos de este número y obtenga un nuevo número formado por permutar unidades y centenas

La pregunta más difícil que surge para los principiantes es cómo tomar y obtener sus dígitos de un número.
De hecho, todo se resuelve de manera bastante simple, si recuerdas las matemáticas. Y las matemáticas nos dicen que cualquier número se puede descomponer en una suma de dígitos.
Por ejemplo: 365=3*100+6*10+5*1 . Vemos que cada dígito es un multiplicador del dígito correspondiente del número. 
Mostraremos cómo convertir cada dígito de un número en una variable separada, usando el ejemplo de dividir las columnas por el número 10. (Tomamos el número 10 porque tenemos un sistema numérico decimal y, en consecuencia, tenemos términos de dígitos 1, 10, 100, etc)
  

Analizando la figura, se puede ver que  e = n % 10; // operación n % 10 - calcula el último dígito del número n (es decir, las unidades del número) 365 % 10 = 5 d = n/10% 10; // operación n/10 - reduce el número 10 veces, es decir descarta el último dígito del número (365/10 = 36), // ahora podemos calcular el número de decenas aplicando la operación familiar al resultado: calcular el resto de la división por el número 10, 36 % 10 = 6 s = n/100; // para sacar centenas basta con descartar dos dígitos de la derecha del número, es decir dividir por 10 dos veces (n/10/10 o lo mismo que n/100 ) 365 / 100 = 3
Teniendo los dígitos guardados del número, podemos hacer cualquier número con ellos multiplicando el dígito deseado por el dígito correspondiente: 
por ejemplo, la siguiente línea obtendrá un nuevo número a partir del número original n, con centenas y unidades reorganizadas:
1) el antiguo número de unos (almacenado en la variable e)  multiplicado por 100 
2) el antiguo número de decenas (almacenado en la variable d)  multiplicado por 10 
3) podemos simplemente multiplicar el antiguo número de centenas por 1, o simplemente tomar el valor almacenado en la variable s
Luego simplemente agregue los valores de los puntos 1, 2 y 3 y obtenga un nuevo número:

n1 = e * 100 + d * 10 + s;

Todo el programa se verá así: importar java.util.Scanner; clase pública Principal { public static void main(String[] args) { Escáner en = nuevo Escáner (System.in); int n, e, d, s; n = in.nextInt(); e = n % 10; d = n/10% 10; s = n/100; System.out.print(e + "" + d + "" + s + "" + (e * 100 + d * 10 + s)); }