Finally
Şimdi, önceki egzersizdeki SplitTheBill hesaplayıcısını değiştirerek bir Exception yakalansa bile kişi başına düşen hesabı yazdırmak için finally kullan.
Bu egzersiz, kursun bir parçasıdır
Java'da Veri Türleri ve İstisnalar
Egzersiz talimatları
- Bir
tryvetrykod bloğunun başlangıcını ekle. catchkod bloğunu bitir ve birfinallykod bloğu ekle.finallykod bloğunu bitir.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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
____
}
}