Please send errata to liangjava@yahoo.com. Thanks for helping improve the book!

Errata for "Introduction to Java Programming with JBuilder 4" (1st printing, July 26, 2001)

Errata for "Introduction to Java Programming with JBuilder 4/5/6" (2st printing, December 20, 2001)

Errata for "Introduction to Java Programming with JBuilder 4/5/6/7" (3rd printing, July 2002)

Errata for "Introduction to Java Programming with JBuilder 4" (1st printing, July 26, 2001)

### Chapter 2

Page 72, Line 2, number 1 should be number 100.

Page 73,  Second line after Figure 2.9, change jdk.13 to jdk1.3.

Page 81, in Exercise 2.10, "but it will be found in MyInput.java on the CD-ROM" should be "but it can be downloaded from http://www.cs.armstrong.edu/liang/introjb4/example/chapter2/MyInput.java"

### Chapter 4

page 171, Michael Kerr and several others pointed out two errors on this page: In Exercise 4.2, Hint should refer to Exercise 2.10, and In Exercise 4.3, 0.05 should be 0.05/12.

"String should read StringBuffer" In the last paragraph.

### Chapter 7

page 271, David Nickel pointed out "String should read StringBuffer" In the last paragraph.

### Chapter 9

Page 341, Figure 9.4, swap the label Aggregation with Composition (corrected by Professor Kevin Parker of Idaho State U.).

page 367, First line after Figure 9.12, delete import chapter5.Rational;

### Chapter 13

Page 620, line 20 , Replace "In the following questions, ... " with the following:

In the following questions, assume that the divide method in Rational is defined as follows:

public Rational divide(Rational secondRational) throws Exception

{

if (secondRational.getNumerator() == 0)

throw new Exception("Divisor cannot be zero");

long n = numerator*secondRational.getDenominator();

long d = denominator*secondRational.getNumerator();

return new Rational(n, d);

}

### Chapter 18

Page 801, Delete last two lines.

Errata for "Introduction to Java Programming with JBuilder 4/5/6" (2st printing, December 20, 2001)

### Chapter 4

Page 162, Delete the last sentence "The DELETE command enables you to delete a file from the disk."

### Chapter 5

Page 203, Step 3, "Choose File" should be "Choose Project".

Page 248, The second "The votes for Candidate 1 is" should be "The votes for Candidate 2 is". Figure 249 should be fixed too.

### Chapter 8

page 325,-9, non-tatic should be non-static (corrected by David Nickel, 1/12/2002).

page 310, last NOTE box, keyboard should be keyword (corrected by Dave Ellison, 7/5/2002).

### Chapter 9

page 371, In the caption of Figure 9.16, GenericMatrix should be GenericLinkedList (corrected by David Nickel 1/12/2002).

### Chapter 10

Page 400, In the Example Review, "p2 is placed in the west of the frame" should be "p2 is placed in the east of the frame".

Errata for "Introduction to Java Programming with JBuilder 4/5/6/7" (3rd printing, July 2002)

### Chapter 8

Page 301, delete the equals method in the Circle class.

Page 302, delete the equals method in the Rectangle class.

Page 303,  delete the equals method in the Cylinder class.

Page 304,  delete the first sentence after the source code, "The data field radius is protected, so it can be referenced by any subclass of Circle." (Thanks to Bill Horst of Sun Microsystems for the correction. 10/20/02)

change the second sentence after the source code, "The methods equals and toString are" to "The toString method is". (Thanks to Bill Horst of Sun Microsystems for the correction. 10/20/02)

Page 339, add the following equals method in the CloneableCircle class:

/** Override the equals() method defined in the Object class */

public boolean equals(Object circle) {

}

Page 305, Add the following NOTE before Section on Polymorphism and Dynamic Binding.

NOTE: You can jump to Chapter 10 and read before Case Studies and then resume from here.

### Chapter 9

Page 337, Add the following NOTE.

NOTE: You can delay this chapter and read any time in the book before Chapter 19, "Java Data Structures."

Page 364, Line -3, the second getMatrix() should be getMatrix()[0]. (Thanks to Christopher R. Merlo of NCC for the correction. 10/21/02)

Page 365, Same as before, in the createGenericMatrix method, the second getMatrix() should be getMatrix()[0]. (Thanks to Christopher R. Merlo of NCC for the correction. 10/21/02)

### Chapter 12

Page 581, Before Example 12.11, delete "The fill and anchor parameters are class variables, whereas gridx, gridy, gridwidth, gridheight, weightx, and weighty are instance variables." (10/28/02)