Exercise 8.1 from Liang Java Textbook 8E Comprehensive Version