Exercise 2.2 from Liang Java Textbook 8E Comprehensive Version