Exercise 5.2 from Liang Java Textbook 8E Comprehensive Version