เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

Finally

ให้แก้ไขเครื่องคำนวณ SplitTheBill จากแบบฝึกหัดที่แล้ว โดยเพิ่ม finally เพื่อแสดงยอดเงินต่อคน แม้ว่าจะมีการจับ Exception ไว้แล้วก็ตาม

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

ชนิดข้อมูลและการจัดการข้อยกเว้นใน Java

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เพิ่ม try และเปิดบล็อกโค้ด try
  • ปิดบล็อกโค้ด catch แล้วเพิ่มบล็อก finally
  • ปิดบล็อกโค้ด finally

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

class SplitTheBill {
	public static void main(String[] args) {
		BigDecimal bill = new BigDecimal(125.50);
		computeEachBill(bill, 5);
		computeEachBill(bill, 0);
	}

	public static void computeEachBill(BigDecimal bill, int people) {
		BigDecimal individualBill = new BigDecimal(0);
		BigDecimal numPeople = new BigDecimal(people);
		// Add a try and the beginning of the try code block
		____ ____
			individualBill = bill.divide(numPeople);
        } catch (ArithmeticException e) {
			System.out.println("You didn't provide a positive number of people to split the bill among. Assuming 2 people.");
			numPeople = new BigDecimal(2);
			individualBill = bill.divide(numPeople);
			// End the catch code block and add a finally block
        ____ ____ ____
			System.out.println("Bill for each of " + numPeople + " persons is: " + individualBill);
		// End the finally block
        ____
	}
}
แก้ไขและรันโค้ด