CodeGym /จาวาบล็อก /สุ่ม /การหารจำนวนเต็ม Java
John Squirrels
ระดับ
San Francisco

การหารจำนวนเต็ม Java

เผยแพร่ในกลุ่ม

การหารจำนวนเต็มใน Java คืออะไร?

การหารใน Java เกิดขึ้นตามปกติเหมือนการหารปกติในวิชาคณิตศาสตร์หรือในชีวิตจริง อย่างไรก็ตาม มันก็ทิ้งส่วนที่เหลือไป ตัวอย่างเช่น ถ้าคุณหาร 9 ด้วย 2 ผลหารคือ 4 และเศษที่เหลือคือ 1 การหารจำนวนเต็ม Java - 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) ซึ่งจะแสดงในตัวอย่างต่อไป อาจมีบางครั้งที่คุณต้องการผลหารจริงเป็นทศนิยม สำหรับกรณีนั้น คุณสามารถใช้ประเภทข้อมูลแบบลอยตัวหรือแบบคู่ก็ได้ อย่างไรก็ตาม หากคุณต้องการปัดเศษผลหารให้เป็นค่า 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 ปัดเศษการหาร int 9.0 / 2 = 5

คำอธิบาย

Case I และ Case II เป็นตัวอธิบาย สำหรับ Case III คุณสามารถแบ่งตามขั้นตอนต่อไปนี้
  • ก่อนอื่น คุณต้องแปลงเงินปันผลเป็นสองเท่า

  • ดำเนินการแบ่ง Java int ปกติ

  • ปัดเศษผลหารโดยใช้เมธอดMath.round()

  • ใช้ประเภทข้อมูลแบบยาวเพื่อจัดเก็บผลหารที่ปัดเศษ

  • ไปแล้ว! คุณมีผลลัพธ์ที่คุณต้องการเป็นผลหาร

บทสรุป

การหารด้วยจำนวนเต็ม Java อาจดูยุ่งยากในตอนเริ่มต้น แต่ด้วยการฝึกฝนและการทำซ้ำๆ คุณจะจับมันได้ ฝึกฝนให้มากที่สุดเท่าที่จะทำได้ อย่าลังเลที่จะกลับไปที่โพสต์ของเราได้ทุกเมื่อที่คุณต้องการ ไชโย! เพื่อเสริมสิ่งที่คุณได้เรียนรู้ เราขอแนะนำให้คุณดูบทเรียนวิดีโอจากหลักสูตร Java ของเรา
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION