Java: An Introduction to Problem Solving & Programming - Savitch, Walter; Carrano, Frank M.