¿Qué es la división de enteros en Java?
La división en Java se lleva a cabo normalmente como la división normal en matemáticas o en la vida real. Sin embargo, simplemente descarta el resto. Por ejemplo, si divides 9 entre 2, el cociente es 4 y el resto es 1.
Ejemplo 1 [El resto es 0]
La división de enteros en Java funciona perfectamente para todos los casos donde el divisor divide completamente el dividendo (entero dividido por x entero). La respuesta es un número entero y el tipo de datos entero puede contenerlo sin desbordamiento. Por lo tanto, no hay pérdida de datos. Por ejemplo, eche un vistazo al siguiente fragmento.
public class IntegerDivision {
public static void main(String[] args) {
int dividend = 100;
int divisor = 5;
int quotient = dividend / divisor;
//Dividend completely divides the divisor
System.out.println(dividend + " / " + divisor + " = " + quotient);
dividend = 143;
divisor = 11;
quotient = dividend / divisor;
//Dividend completely divides the divisor
System.out.println(dividend + " / " + divisor + " = " + quotient);
}
}
Producción
100 / 5 = 20
143 / 11 = 13
Ejemplo 2 [El resto no es 0]
Para todos los casos de división en los que el resto no sea 0, el resultado final se reducirá al entero divisible más grande (9/2 = 4). Esto se mostrará en el próximo ejemplo. Puede haber momentos en los que necesite el cociente real en decimal. Para ese caso, puede usar el tipo de datos flotante o doble. Sin embargo, si desea redondear el cociente al int más cercano, puede hacer lo siguiente.
public class IntegerDivision {
public static void main(String[] args) {
int dividend = 9;
int divisor = 2;
int quotient = dividend / divisor;
// Case I - Dividend does not divide the divisor completely
// The quotient is chopped / truncated
System.out.print("Integer division \t\t" );
System.out.println(dividend + " / " + divisor + " = " + quotient);
// Case II - Mathematical or real life division
// Use float or double data type to get the actual quotient
double actualQuotient = (double)dividend / divisor;
System.out.print("Mathematics division \t\t" );
System.out.println((double)dividend + " / " + divisor + " = " + actualQuotient);
// Case III - Integer Division with rounding off
// the quotient to the closest integer
long roundedQuotient = Math.round((double)dividend / divisor);
System.out.print("Round off int division \t\t" );
System.out.println((double)dividend + " / " + divisor + " = " + roundedQuotient);
}
}
Producción
División entera 9 / 2 = 4
División matemática 9.0 / 2 = 4.5
División redondeada 9.0 / 2 = 5
Explicación
El Caso I y el Caso II se explican por sí mismos. Para el Caso III, puede desglosarlo en los siguientes pasos.-
Primero, debe convertir el dividendo en un doble.
-
Realice la división int de Java normal.
-
Redondea el cociente usando el método Math.round() .
-
Use un tipo de datos largo para almacenar el cociente redondeado.
-
¡Ahí tienes! Tienes tu resultado deseado como el cociente.
GO TO FULL VERSION