Intro to Java Chap 3