Finally
Zmodyfikuj teraz kalkulator SplitTheBill z poprzedniego ćwiczenia, aby użyć bloku finally do wyświetlenia kwoty rachunku przypadającej na każdą osobę – nawet wtedy, gdy zostanie przechwycony wyjątek Exception.
To ćwiczenie jest częścią kursu
Typy danych i wyjątki w Javie
Instrukcje do ćwiczenia
- Dodaj blok
trywraz z jego otwierającym nawiasem klamrowym. - Zakończ blok
catchi dodaj blokfinally. - Zakończ blok
finally.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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
____
}
}