Java programming : from problem analysis to program design - Malik, D. S. (Course Technology, Cengage Learning, 2012)