Schaum's outline of theory and problems of programming with Java - Hubbard, J. R. (McGraw-Hill, 1999)