ما هو تقسيم الأعداد الصحيحة في جافا؟
تتم عملية القسمة في Java بشكل طبيعي مثل القسمة العادية في الرياضيات أو الحياة الواقعية. ومع ذلك، فإنه يتجاهل فقط الباقي. على سبيل المثال، إذا قسمت 9 على 2، يكون الناتج 4 والباقي 1. في الحياة الواقعية، الإجابة هي 4.5 أو 4½. إذا قمت بإجراء نفس العملية الحسابية باستخدام int في Java، ستكون إجابتك 4. ولن يتم تقريبها إلى أقرب عدد صحيح (مثل ~4.5 = 5) 1 حيث يتم التخلص من الباقي.مثال 1 [ الباقي هو 0 ]
يعمل قسم الأعداد الصحيحة في Java بشكل مثالي في جميع الحالات التي يقوم فيها المقسوم عليه بتقسيم المقسوم بالكامل ( عدد صحيح مقسوم على عدد صحيح x). الإجابة هي رقم صحيح ويمكن لنوع البيانات الصحيح الاحتفاظ به دون تجاوز السعة. وبالتالي لا يوجد فقدان للبيانات. على سبيل المثال، ألق نظرة على المقتطف التالي.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);
}
}
انتاج |
100 / 5 = 20 143 / 11 = 13
مثال 2 [الباقي ليس 0]
بالنسبة لجميع حالات القسمة التي لا يكون الباقي فيها 0، سيتم تقسيم النتيجة النهائية إلى أكبر عدد صحيح قابل للقسمة (9/2 = 4). سيتم عرض ذلك في المثال القادم. قد تكون هناك أوقات تحتاج فيها إلى حاصل القسمة الفعلي بالنظام العشري. في هذه الحالة، يمكنك استخدام نوع البيانات العائمة أو المزدوجة. ومع ذلك، إذا كنت ترغب في تقريب حاصل القسمة إلى أقرب عدد صحيح، يمكنك القيام بما يلي.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);
}
}
انتاج |
قسمة الأعداد الصحيحة 9 / 2 = 4 قسمة الرياضيات 9.0 / 2 = 4.5 تقريب القسمة الصحيحة 9.0 / 2 = 5
توضيح
الحالة الأولى والحالة الثانية واضحة بذاتها. بالنسبة للحالة الثالثة، يمكنك تقسيمها في الخطوات التالية.-
أولاً، تحتاج إلى تحويل الأرباح إلى مضاعفة.
-
تنفيذ تقسيم Java العادي.
-
قم بتقريب الناتج باستخدام طريقة Math.round() .
-
استخدم نوع البيانات الطويل لتخزين حاصل التقريب.
-
ها أنت ذا! لديك الناتج المطلوب باعتباره الحاصل.
GO TO FULL VERSION