On the copyright page (facing the first page of the Preface), there is a printing history of the book. The printing history is a row of numbers that—at the 1st printing—looks like this:

`10 9 8 7 6 5 4 3 2 1`

At each subsequent printing, one number is removed from the end of this row of numbers to indicate which printing of the book you have. For example, the last number in the row of numbers in the 2nd printing is 2, and so on.

[B3C2] = fixed in Big Java's 3rd printing, Java Concepts 2nd printing

[B3] = fixed in Big Java's 3rd printing

- Page 81
- In Exercise P2.13, move 2π from the numerator to the denominator three times: `f=1/(2pi sqrt(L C))`, `f_min=1/(2pi sqrt(L C_max))`, `f_max=1/(2pi sqrt(L C_min))`
- Page 216
- In Self Check 9, change
double result = (x + y) / (y - x);

toint result = (x + y) / (y - x);

- Page 242
- Section 5.9
- In the program fragment at the very end, change
for (int j = 0; j < i; j++)

tofor (int j = 0; j <= i; j++)

- Page 293
- Change While (i < size / 2) to While i < size / 2
- Page 300
- In Figure 15, the first array should have type
`double[][]`

. - Page 339
`String line = nextLine();`

should be`String line = in.nextLine();`

- Page 374 Solution to Self Check 10
`pre while (!Character.isWhiteSpace(line.charAt(j)))`

should bewhile (Character.isWhiteSpace(line.charAt(j)))

- Page 374 Answer to Self Check 12
- Change
`null null`to`"" ""` - Page 452
- In Syntax 9.2, change
`choices = new ArrayList<String>;`

to`choices = new ArrayList<String>();`

- Page 640 Self Check 20
- “with the first queen in position
`a2`

” should be “with the first queen in position`b1`

” - Page 671
- Change the last equation from
`T`(`n`) = 1 + log_{2}(`n`) to`T`(`n`) =`T`(1) + log_{2}(`n`) - Page 700
- Change “Write a loop that prints every second element of a linked list of strings called
`words`

.” to “Write a loop that prints every other element of a linked list of strings called`words`

, starting with the element at the front.” - Page 718
- In the last row of the “Unprocessed Input” column in the last table, change 4 + 5 to 4 × 5
- Page 725
- Change
`TreeSet<K, V>`

to`TreeSet<E>`

- Page 736
- Instead, we make ... outer class → Instead, we make
`Node`

an inner class inside the`LinkedList`

class. The methods of the outer class can access the public features of the inner class. (We could even declare the inner class as`private`

, so that it cannot be accessed anywhere other than from the outer class. However, for simplicity we do not do that in this book.) - Page 738
- a private inner class → an inner class
- Page 769
- Change the first two lines of the program run to
Sue Harry

- Page 772 Exercise R16.16
- Change “the reference at position n – n % 10” to “the reference at index
`n / 10`

” - Page 775 P16.1
- Remove
`static`

from the`getNode`

method. - Page 804 Self Check 23
- “Figure 17” should be “Figure 16”
- Page 806
- Change log(
`n`+ 1) to log_{2}(`n`+ 1) (2x) - Page 824 section_7/HeapSorter.java
- Change the comment “Sorts an array, using selection sort.” to “Sorts an array, using heap sort.”
- Page 826
- Change Self Check 16 to: “What is the result of calling
`HeapSorter.fixHeap(a, 1, 4)`

and then`HeapSorter.fixHeap(a, 0, 4)`

where a contains 1 4 9 5 3?” - Page 836 Answer to Self Check 29
- In the last figure, the "X" node should not be the right child node of node
`n`_{2}but should be the right child node of`n`_{4}. - Page 845 Self Check 13
- Change “If you have an array list
ArrayList<String> a = new ArrayList<>(10);

how do you fill it with ten "*"?” to: “If you have an`ArrayList<String> a`

, how do you replace all elements with`"*"`

?” - Page 851
- Change Self Check 22 to: “Suppose we want to implement a method that computes both the minimum and maximum of an array of measurable objects, returning an array of length 2:
public static <E extends Measurable> E[] minmax(E[] objects)

Why doesn’t this work?” Change the answer to: The method would need to create the array of length 2 and type`E`

. However, you cannot construct an array of a generic type. - Page 852
`private static class`

→`static class`

- Chapter 17 Worked Example 2 Page 13
assertEquals(letters, t.toString().remove(" ", ""));

should beassertEquals(letters, t.toString().replace(" ", ""));

- Chapter 17 Worked Example 2 Page 14
- Change “435,974,400 red-black trees with black height 2” to “25,728,160,000 red-black trees with black height 3”
- Chapter 17 Worked Example 2 Page 18
- Change “The resulting tree has constant black height, but it might still not be a valid red-black tree because it might have double-red violations. We could test just that, but we need to have a general method that tests the red-black properties after the removal.” to “The resulting tree might not be a valid red-black tree. It might have some leaves with greater black height than the node to be removed, or it might have double-red violations. We will develop a method to check that a red-black tree is valid and call it before and after the removal.”
- Section 22.3 WebGet.java
- Change
`\n`

to`\r\n`

(3x) - Appendix E Page A-30
- a private inner class → an inner class

Thanks to Michael D'Egidio, Joaquim Mendes, Barry Nichols, Mark Oliva, Anthony Rutledge, Larry A. Taylor, and (your name might go here) for their bug reports and suggestions

Please use this form to report any bugs that you find. Please check the list of known bugs first before you report a bug. Unfortunately, I do not have the time to respond personally to every report, but I do read them all and will post updates to this page. Thank you!