Ano ang integer division sa Java?
Ang dibisyon sa Java ay karaniwang nagaganap tulad ng regular na paghahati sa matematika o totoong buhay. Gayunpaman, itinatapon lamang nito ang natitira. Halimbawa, kung hahatiin mo ang 9 sa 2 ang quotient ay 4 at ang natitira ay 1.
Halimbawa 1 [ Ang natitira ay 0 ]
Ang integer division sa Java ay gumagana nang perpekto para sa lahat ng mga kaso kung saan ganap na hinahati ng divisor ang dibidendo (integer na hinati sa x integer). Ang sagot ay isang buong numero at ang integer na uri ng data ay maaaring hawakan ito nang walang overflow. Kaya walang pagkawala ng data. Halimbawa, tingnan ang sumusunod na snippet.
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);
}
}
Output
100 / 5 = 20 143 / 11 = 13
Halimbawa 2 [ Ang natitira ay hindi 0 ]
Para sa lahat ng mga division case kung saan ang natitira ay hindi 0, ang huling resulta ay puputulin sa pinakamalaking divisible integer (9/2 = 4). Ito ay ipapakita sa paparating na halimbawa. Maaaring may mga pagkakataon na kailangan mo ang aktwal na quotient sa decimal. Para sa kasong iyon, maaari mong gamitin ang float o double data type. Gayunpaman, kung nais mong i-round off ang quotient sa pinakamalapit na int maaari mong gawin ang sumusunod.
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);
}
}
Output
Integer division 9 / 2 = 4 Mathematics division 9.0 / 2 = 4.5 Round off int division 9.0 / 2 = 5
Paliwanag
Ang Case I at Case II ay paliwanag sa sarili. Para sa Case III, maaari mo itong hatiin sa mga sumusunod na hakbang.-
Una, kailangan mong i-convert ang dibidendo sa doble.
-
Gawin ang regular na Java int division.
-
I-round off ang quotient gamit ang Math.round() method.
-
Gumamit ng mahabang datatype para iimbak ang rounded quotient.
-
ayan na! Nasa iyo ang iyong nais na output bilang quotient.
GO TO FULL VERSION