Get startedGet started for free

Finally

Now, modify the previous SplitTheBill calculator of the last exercise to use a finally to print out the bill per individual even when an Exception was caught.

This exercise is part of the course

Data Types and Exceptions in Java

View Course

Exercise instructions

  • Add a try and the start of the try code block.
  • Finish the catch code block and add a finally code block.
  • Finish the finally code block.

Hands-on interactive exercise

Have a go at this exercise by completing this sample code.

import java.math.BigDecimal;

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
        ____
	}
}
Edit and Run Code