CodeGym /בלוג Java /Random-HE /חלוקת מספרים שלמים Java
John Squirrels
רָמָה
San Francisco

חלוקת מספרים שלמים Java

פורסם בקבוצה

מהי חלוקת מספרים שלמים ב-Java?

חלוקה בג'אווה מתרחשת בדרך כלל כמו חלוקה רגילה במתמטיקה או בחיים האמיתיים. עם זאת, זה פשוט משליך את השאר. לדוגמה, אם אתה מחלק 9 ב-2, המנה היא 4 והשאר הוא 1. בחיים האמיתיים, התשובה היא 4.5 או 4½. אם תבצע את אותו חישוב עם int ב-Java, התשובה שלך תהיה 4. זה לא מעוגל למספר השלם הקרוב ביותר (כמו ~4.5 = 5) 1 שכן שארית נזרקת. חלוקת מספרים שלמים Java - 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). זה יוצג בדוגמה הקרובה. עשויים להיות מקרים שבהם אתה צריך את המנה בפועל בעשרונית. במקרה זה, אתה יכול להשתמש בסוג הנתונים צף או כפול. עם זאת, אם ברצונך לעגל את המנה ל-int הקרוב ביותר, תוכל לעשות את הפעולות הבאות.
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

הֶסבֵּר

מקרה I ומקרה II מובנים מאליהם. עבור מקרה III, אתה יכול לפרק אותו בשלבים הבאים.
  • ראשית, עליך להמיר את הדיבידנד לכפול.

  • בצע את החלוקה הרגילה של Java int.

  • עיגל את המנה באמצעות שיטת Math.round() .

  • השתמש בסוג נתונים ארוך כדי לאחסן את המנה המעוגלת.

  • הנה לך! יש לך את הפלט הרצוי שלך בתור המנה.

סיכום

חלוקה עם מספרים שלמים של Java יכולה להיראות מסובכת בהתחלה. אבל עם קצת תרגול וחזרה, אתה יכול להשיג את זה. תעשה כמה שיותר תרגול. אתה מוזמן לחזור לפוסט שלנו בכל עת שתרצה. לחיים! כדי לחזק את מה שלמדת, אנו מציעים לך לצפות בשיעור וידאו מקורס Java שלנו
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION