Errata
The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".
The following errata were submitted by our customers and approved as valid errors by the author or editor.
Color key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update
Version | Location | Description | Submitted By | Date submitted | Date corrected |
---|---|---|---|---|---|
Printed | Page xvii left |
1) The graphic shows a UK (british) Wall Outlet, not a European one. Note from the Author or Editor: |
John B-R | Jan 19, 2009 | |
Printed | Page viii 2nd paragraph, line 7 |
... that encourage woman to ... |
Anonymous | Aug 19, 2011 | |
Printed | Page viii 4th paragraph |
"trying to restoring" |
Anonymous | Aug 19, 2011 | |
Printed | Page ix 3rd paragraph |
runing |
Anonymous | Aug 19, 2011 | |
Printed | Page xxxi Fourth through ninth numbered Item |
Items are numbered 1,2,3,5,..,10 |
Anonymous | Aug 19, 2011 | |
Printed | Page xxxv 2nd Paragraph |
A space is missing between the word 'their' and the following opening parenthesis. |
Anonymous | Aug 19, 2011 | |
Printed | Page 5 Box for RubberDuck |
The string ".//" should be "//" |
Anonymous | Aug 19, 2011 | |
Printed | Page 9 beneath the box containing the Design Principle |
thruoghout |
Anonymous | Aug 19, 2011 | |
Printed | Page 9 1st paragraph |
In the 10th anniversary edition, page 9 has a segment that says: "...except Java interfaces have no implementation code..." Note from the Author or Editor: |
Anonymous | Jan 02, 2020 | |
Printed | Page 12 last line |
Should be a.makeSound(); |
Anonymous | ||
Printed | Page 13 Box for Quack class |
quack) |
Anonymous | Aug 19, 2011 | |
Printed | Page 13 Diagram - annotation below FlyNoWay box |
"And here's the implementation of all ducks that can't fly." |
Anonymous | Aug 19, 2011 | |
Printed | Page 14 Second sentence in the second answer iin the Q&A on page 14 should |
be changed to read: |
Anonymous | Aug 19, 2011 | |
Printed | Page 19 description of step 3, 3rd line |
... and Sqeak.java ... |
Anonymous | Aug 19, 2011 | |
Printed | Page 21 Code |
The code is improperly indented, starting with the fourth line. |
Anonymous | Aug 19, 2011 | |
Printed | Page 21 step 5, console, last line |
I'm flying with a rocket |
Anonymous | Aug 19, 2011 | |
Printed | Page 23 Master and Student dialogue |
Master's second-to-last remark includes "maintaintability" |
Anonymous | Aug 19, 2011 | |
Printed | Page 32 Middle of page, "OO Principles" box, 2nd sentence |
"Favor composition over inheritence" |
Anonymous | Aug 19, 2011 | |
Printed | Page 33 Crossword puzzle |
There were several errors in the crossword puzzle. A corrected version can be found here - |
Anonymous | ||
Printed | Page 34 1st paragraph |
"... while Weapon is an interface that all weapons implement." |
Anonymous | Nov 25, 2009 | Aug 19, 2011 |
Printed | Page 35 Sharpen Your Pencil Solution |
There are two "C" boxes. The boxes should be A, B, C, D, E, F instead of A, B, C, C, D, E. |
Anonymous | Aug 19, 2011 | |
Printed | Page 41 Second bullet |
The closing parenthesis is missing. |
Anonymous | Aug 19, 2011 | |
Printed | Page 52 Q&A section at bottom |
Minor layout booboo: missing "There are no Dumb Questions" heading |
Anonymous | Aug 19, 2011 | |
Printed | Page 56 UML |
"CurrentConditions" should be "CurrentConditionsDisplay" (as it is in the code on p. 60). |
Anonymous | Aug 19, 2011 | |
Printed | Page 56 Diagram |
I've the 2014 2nd printing of this book. On an earlier page, 52, there is a diagram with a ConcreteObserver pointing to a ConcreteSubject. There is a comment associated with the ConcreteObserver in which it's stated "Each observer registers with a concrete subject to receive updates." This is valid given the diagram. Note from the Author or Editor: |
Raymond Plante | Nov 15, 2016 | |
Other Digital Version | 59 Sample source codes |
In the book and sample code for CurrentConditionsDisplay, the weatherData is created as "Subject weatherData". But in all other parts of the code not written in the book, it's written as "WeatherData weatherData" Note from the Author or Editor: |
Anonymous | Apr 09, 2018 | |
Printed | Page 63 3rd Paragraph (Observer) |
"There's so many different kinds of us Observers, there's no way you can anticipate everything we need." Note from the Author or Editor: |
B Hillebrecht | Jun 19, 2009 | |
Printed | Page 64 UML |
On page 64, the "subject" arrow from GeneralDisplay should point to Observable rather |
Anonymous | Aug 19, 2011 | |
Printed, PDF, ePub, Mobi | Page 64 Class Diagram, concrete Observers |
The GeneralDisplay observer should be CurrentConditionsDisplay |
Elisabeth Robson |
Aug 09, 2013 | |
Printed | Page 65 last paragraph |
notifyObserver(arg) |
Anonymous | Aug 19, 2011 | |
Printed | Page 67 Number 3 |
Instead of: Note from the Author or Editor: |
Anonymous | ||
Printed | Page 78 In the Code Magnets solution, the line - |
Weatherdata weatherData = (WeatherData)observable; |
Anonymous | ||
Printed | Page 87 3rd answer, near middle of paragraph |
would probably be wastefu). Following |
Anonymous | Aug 19, 2011 | |
Printed | Page 87 last A, first sentence |
remove extra "the" before "knowing the domain" |
Anonymous | Aug 19, 2011 | |
Printed | Page 91 The two ConcreteDecorators |
ConcereteDecoratorA and ConcereteDecoratorB |
Anonymous | Aug 19, 2011 | |
Printed | Page 91 bottom left bullet text |
"The ConcreteDecorator has an instance variable for the thing it decorate.. |
Anonymous | Aug 19, 2011 | |
Printed | Page 94 in the first paragraph, |
the word |
Anonymous | Aug 19, 2011 | |
Printed | Page 96 Third annotation down on Espresso, second sentence |
"Now that we don't need to worry about ..." |
Anonymous | Aug 19, 2011 | |
Printed | Page 96 Annotation at the bottom of the page |
"You can create the other three Beverage classes (DarkRoast, Decaf, Esperesso) |
Anonymous | Aug 19, 2011 | |
Printed | Page 97 Number 2 at the right |
It is write "to to" instead of "to" : Here, we're going to to pass the beverage ... Note from the Author or Editor: |
Anonymous | Aug 19, 2011 | |
Printed | Page 97 Note under cost() function |
Both the cost() and getDescription() function notes say "first we delegate", however there is inconsistent ordering of the return syntax of the code (local value + delegated value in cost() vs. delegated value + local value in getDescription()) Note from the Author or Editor: |
Martin Rhodes | Nov 12, 2012 | |
Printed | Page 98 Starred annotation under the code |
We're going to see a much better way of creating decorated objects when we cover the |
Anonymous | Aug 19, 2011 | |
Printed | Page 99 Question 1 |
"specfic" |
Anonymous | Aug 19, 2011 | |
Printed | Page 99 second Q paragraph |
|
Anonymous | Aug 19, 2011 | |
Printed | Page 99 Last Question |
The second sentence says "Say, I wanted my getDecription..." |
Anonymous | Aug 19, 2011 | |
Printed | Page 99 Last Answer |
The last sentence says "Note that getDecription..." |
Anonymous | Aug 19, 2011 | |
Printed | Page 100 2nd handwritten comment from top |
There is a period missing at the end of the first line. Note from the Author or Editor: |
Anonymous | Aug 19, 2011 | |
Printed | Page 100 second handwritten comment |
"BufferedInputSream .... augments the interface with a new method called readLine() ..." Note from the Author or Editor: |
ntls | Jul 26, 2013 | |
Printed | Page 100 Last Paragraph |
FilterInputStream is not an abstract class, taking as reference JDK 12.0.2, so it cannot be an abstract decorator class. Page 101 talks about concrete decorators (i.e BufferedInputStream) that are not. Note from the Author or Editor: |
Alberto Pomella | Jul 28, 2019 | |
Printed | Page 106 1st box |
public float cost(){ |
Anonymous | Aug 19, 2011 | |
Printed | Page 106 in the bottom solution box at the very top |
"double mocha soy lotte with whip" |
Anonymous | Aug 19, 2011 | |
Printed | Page 107 getSize method of Soy class |
public getSize() { |
Anonymous | Aug 19, 2011 | |
Printed | Page 107 "handwritten" note in middle of page on the right hand side |
The note suggests that the getSize method should be moved to the abstract class CondimentDecorator since it is used by all the condiment decorators. I get a null pointer exception if I do that. However you should put an abstract getSize method in the abstract class to ensure that each condiment decorator implements it. Note from the Author or Editor: |
Donald Cook | Aug 21, 2013 | |
Printed | Page 107 "handwritten" note in middle of page on the right hand side |
Here's how to fix the problem pointed out by my post dated Aug 21, 2013. Note from the Author or Editor: |
Donald Cook | Aug 22, 2013 | |
Printed | Page 109 last line |
embarrasing -> embarrassing |
Anonymous | Aug 19, 2011 | |
Printed | Page 113 last line in highlighted block of code. |
pizza = new eggiePizza(); |
Anonymous | Aug 19, 2011 | |
Printed | Page 114 last 3rd line in last paragraph |
a client of that object. Any time it needs a pizzam it asks |
Anonymous | Aug 19, 2011 | |
Printed | Page 115 bottom right, answer to last question |
"But remember it also has the disadvanage..." |
Anonymous | Aug 19, 2011 | |
Printed | Page 117 Bottom "Just another reminder:.." Second line; |
"write a class the implements ... |
Anonymous | Aug 19, 2011 | |
Printed | Page 119 third line in the two listings |
line 3: There should be "nyStore.orderPizza" instead of "nyStore.order" |
Anonymous | Aug 19, 2011 | |
Printed | Page 120 last line in code example |
abstract createPizza(String type); |
Anonymous | Aug 19, 2011 | |
Printed | Page 121 Second paragraph |
Erroneous space after first "thick". |
Anonymous | Aug 19, 2011 | |
Printed | Page 130 black output window at the bottom |
"Grated Regiano cheese" |
Anonymous | Aug 19, 2011 | |
Printed | Page 134 Last paragraph |
The last sentence should start with |
Anonymous | Aug 19, 2011 | |
Printed | Page 135 Last Answer (A) |
framework that let's >> framework that lets |
Thomas Kennedy | Nov 03, 2010 | Aug 19, 2011 |
Printed | Page 144 Last paragraph |
"different set that needs to shipped..." |
Anonymous | Aug 19, 2011 | |
Printed | Page 145 in the California group; |
the seafood should be "Calamari", not "Camari" |
Anonymous | Aug 19, 2011 | |
Printed | Page 148 UML drawing of classes at the bottom of the page |
"Mozzarella" class name should be "MozzarellaCheese" (to match p. 145) |
Anonymous | Aug 19, 2011 | |
Printed | Page 150 & 151 last method |
Wrong way double-quotes |
Anonymous | Aug 19, 2011 | |
Printed | Page 159 2nd paragraph, right column (Abstract Factory) |
"...because I am used to create entire families..." |
Anonymous | Aug 19, 2011 | |
Printed | Page 159 4th paragraph |
Factory Method phrase "... and override a factory method." should, I think, be " ... and implement a factory method." Note from the Author or Editor: |
Anonymous | Apr 01, 2010 | |
Printed | Page 160 text floating in bottom-middle of diagram |
"Subclasses are instaniated |
Anonymous | Aug 19, 2011 | |
Printed | Page 162 Abstract Factory Card |
depedent |
Anonymous | Aug 19, 2011 | |
Printed | Page 173 floating "a" inside "Watch it" box on the top right of the page |
"you'll see a |
Anonymous | Aug 19, 2011 | |
Printed | Page 173 bottom of page |
On the "Code Up Close" section: Note from the Author or Editor: |
Martin | Dec 21, 2010 | |
Printed | Page 175 fill method |
"fill" is rendered improperly (with a hard-to-read font) |
Anonymous | ||
Printed | Page 179, 204 "Bet the JVM" code example |
code example; |
Anonymous | Aug 19, 2011 | |
Printed | Page 189 Use eager instantiation answer |
statically inializing >> statically initializing |
Thomas Kennedy | Nov 04, 2010 | Aug 19, 2011 |
Printed | Page 194 UML diagram: method section of "Hottub" box |
"setTemperaturet()" should read "setTemperature()" Note from the Author or Editor: |
xehpuk | May 12, 2010 | |
Printed | Page 195 Last paragraph by Mary |
"slot1 = Hottub" should read "slot1 == Hottub" Note from the Author or Editor: |
xehpuk | May 12, 2010 | |
Printed | Page 207 in the text pointing to the Command interface, |
the word should be "perform", not "preform" |
Anonymous | Aug 19, 2011 | |
Printed | Page 208 Second paragraph, Sue's statement |
Sue's last sentence ends with a colon, but no example follows it. |
Anonymous | Aug 19, 2011 | |
Printed | Page 209 swapped letters "ie" in "reciever", bottom right of the page |
"(3) In the execute() method actions |
Anonymous | Aug 19, 2011 | |
Printed | Page 212 first paragraph |
"Home Automation of Bust" should be "Home Automation or Bust" |
Anonymous | Aug 19, 2011 | |
Printed | Page 216 In the thought bubble |
Printed: Note from the Author or Editor: |
B Hillebrecht | Jun 26, 2009 | Aug 19, 2011 |
Printed | Page 223 RemoteLoader output window |
The output in the window on page 223 does not match the code on page 222. |
Anonymous | Aug 19, 2011 | |
Printed | Page 230 1st bullet point |
"The Command Pattern decouples an object, making |
Anonymous | Aug 19, 2011 | |
Printed | Page 230 5th bullet point |
"excute()" should be "execute()" |
Anonymous | Aug 19, 2011 | |
Printed | Page 233 The answer |
Note from the Author or Editor: |
Anonymous | Jun 26, 2008 | |
Printed | Page 233 undo() definition of top exercise |
The boxed text reads: |
Anonymous | Aug 19, 2011 | |
Printed | Page 236 Diagram or the test |
Diagram shows an US plug, and an British plug and a British wall socket. However the text refers to the British plug and socket as "European". Note from the Author or Editor: |
Ryan | Sep 18, 2009 | |
Printed | Page 240 Test run at the bottom |
Replace RemoteControlTest with DuckTestDrive and remove newlines that are not in the |
Anonymous | Aug 19, 2011 | |
Printed | Page 245 first paragraph |
")." should be ".)" |
Anonymous | Aug 19, 2011 | |
Printed | Page 273 1st paragraph |
Spelling mistake: 'Enumaration'. Note from the Author or Editor: |
Anonymous | Aug 29, 2008 | Aug 19, 2011 |
Printed | Page 278 Top of page, annotation next to prepareRecipe(), 2nd sentence |
"the second and forth steps are different, ..." |
Anonymous | Aug 19, 2011 | |
Page 283 in the right-down area, annotation to the "Tea" class |
"Tea needs to define brew() and addCondiments() ? the two abstract methods from Beverage." Note from the Author or Editor: |
Anonymous | Sep 20, 2011 | ||
Printed | Page 292 first "handwritten" comment |
"a condiments" should be "condiments" |
Anonymous | Aug 19, 2011 | |
Page 292 The code |
Should the prepareRecipe() method be "final"? Note from the Author or Editor: |
Anonymous | Sep 20, 2011 | ||
Printed | Page 295 bottom right of page, last paragraph |
"so you can implement these as hooks rather than abstract classes," |
Anonymous | Aug 19, 2011 | |
Printed | Page 298 third description in Who Does What? box |
"Subclasses decide which concrete classes to create." |
Anonymous | Aug 19, 2011 | |
Printed | Page 300 first "handwritten" comment |
"paired" should be "pared" |
Anonymous | Aug 19, 2011 | |
Printed | Page 305 Last Answer (A) |
is used by the tempate -> is used by the template |
Thomas Kennedy | Nov 09, 2010 | Aug 19, 2011 |
Printed | Page 308 first "Template Method" paragraph |
Missing terminating period |
Anonymous | Aug 19, 2011 | |
Page 309 the second-to-last block of Strategy |
"But you have to depend on methods implemented in your superclass," Note from the Author or Editor: |
Anonymous | Sep 21, 2011 | ||
Printed | Page 321 bullet item #1 |
"...you'll need to call the getMenuItem() method ..." |
Anonymous | Aug 19, 2011 | |
Printed | Page 321 second code excerpt |
Improper facing closing double-quotes |
Anonymous | Aug 19, 2011 | |
Printed | Page 322, 328, 330 Sharpen your pencil box |
Items are lettered A, B, C, C, D, E. Should be A, B, C, D, E, F. |
Anonymous | Aug 19, 2011 | |
Printed | Page 332 last line, first column |
you'llwant |
Anonymous | Aug 19, 2011 | |
Printed | Page 338 3rd Question |
"Could I implement an Iterator that can go backwards as well as backwards?" |
Anonymous | Aug 19, 2011 | |
Printed | Page 342 bottom of page, shaded code block - remove() implementation |
I believe the remove() implementation of the DinerMenuIterator should be subtracting 1 from the position field when it succeeds in removing an item. This is because the loop is shifting all items in the array backwards and setting the last item to null. If the position remains unchanged, the next() call will skip the item that came after the removed item. Note from the Author or Editor: |
Sebastian Murgu | Nov 15, 2019 | |
Printed | Page 350, 382 6th magnet |
The code |
Anonymous | Aug 19, 2011 | |
Printed | Page 354 1st paragrah |
second to the last line of paragraph: |
Anonymous | Aug 19, 2011 | |
Printed | Page 359 UML diagram: methods for MenuComponent and Menu |
"add(Component)" and "remove(Component)" should read Note from the Author or Editor: |
xehpuk | May 10, 2010 | |
Printed | Page 365 Description for Apple Pie on the desertMenu definition |
"icecream" should be "ice cream" |
Anonymous | Aug 19, 2011 | |
Printed | Page 365 Second hand-written comment from the top |
Text states: |
Anonymous | Aug 19, 2011 | |
Printed | Page 368 method createIterator in class Menu |
The code is buggy. (That is why the desserts show up multiple times on p374.) The Note from the Author or Editor: |
Anonymous | ||
Printed | Page 368,373,374 the method Menu.createIterator() on p368 & the method of Waitress.printVegetarianMenu() on p373 |
The menuItems(like Apple Pie, Cheesecake and Sorbet) show up multiple times on p374 because of the buggy code on p368 and p373. Note from the Author or Editor: |
chendong | Dec 08, 2012 | |
Printed | Page 368,373,374 the method Menu.createIterator() on p368 & the method of Waitress.printVegetarianMenu() on p373 |
The menuItems(like Apple Pie, Cheesecake and Sorbet) show up multiple times on p374 because of the buggy code on p368 and p373. Note from the Author or Editor: |
chendong | Dec 08, 2012 | |
Printed | Page 369 method next |
The test Note from the Author or Editor: |
Anonymous | ||
Printed | Page 374 Description for Apple Pie on the menu printout (in two places) |
"icecream" should be "ice cream" |
Anonymous | Aug 19, 2011 | |
Printed | Page 378 11 down: |
Hashtable and ArrayList both implement this interface. |
Anonymous | ||
Printed | Page 379 Who Does What? |
Replace the text "State Pattern" at the top left of the diagram with "Strategy Pattern", |
Anonymous | Aug 19, 2011 | |
Printed | Page 381 Sharpen your pencil solution box |
Items are lettered A, B, C, C, D, E. Should be A, B, C, D, E, F. |
Anonymous | Aug 19, 2011 | |
Printed | Page 390 1st paragraph |
In the last sentence of the paragraph you're writing about having to implement an "empty gumball Note from the Author or Editor: |
Anonymous | ||
Printed | Page 392 first sentence |
A comma is missing after "methodology". |
Anonymous | Aug 19, 2011 | |
Printed | Page 396 Sharpen your pencil box |
Items are lettered A, B, C, C, D, E. Should be A, B, C, D, E, F. |
Anonymous | Aug 19, 2011 | |
Printed | Page 397 repeated "this" in second to last sentence by Joe |
"I wonder if this will this make it easier to add new states?" |
Anonymous | Aug 19, 2011 | |
Printed | Page 397 textballoon |
The last sentence says "not to mention that CEO will drive us crazy." Note from the Author or Editor: |
Anonymous | ||
Printed | Page 398 Textballoon |
First sentence: |
Anonymous | Aug 19, 2011 | |
403 Code Segment |
Line: 'State state = soldOutState', but 'soldOutState' at that point is null. Note from the Author or Editor: |
Anonymous | Feb 22, 2013 | ||
Printed | Page 412 left hand side, bottom |
Currently: The only requirement is that your state objects do not keep their own internal state; ... Note from the Author or Editor: |
Anonymous | Apr 15, 2010 | |
Printed | Page 413 Code snippet |
Always printing "YOU'RE A WINNER!..." would be a mistake especially when the count of the number of gumballs = 1 and the WinnerState dispense() method is invoked. Under this scenario the winning message for two gumballs would be printed; however, only one gumball would be released. It seems wiser to place the println for the winning message within the else statement (first line after the else) before releasing the second ball. Note from the Author or Editor: |
Corey Cotton | Jun 26, 2010 | |
Printed | Page 425 Sharpen your pencil box |
Items are lettered A, B, C, C, D, E. Should be A, B, C, D, E, F. |
Anonymous | Aug 19, 2011 | |
Printed | Page 428 Top (Who does What) |
The solutions for Template Method and Strategy are wrong; |
Anonymous | Aug 19, 2011 | |
428 Solution to "Sharpen your pencil" |
The solution for dealing with the refill() transition is counter to the entire chapter. Note from the Author or Editor: |
Anonymous | Dec 11, 2012 | ||
Printed | Page 431 code |
Improper facing double-quotes |
Anonymous | Aug 19, 2011 | |
Printed | Page 445 Last "hand-written" note on bottom of page |
The word "rmiregistery" should be "rmiregistry". |
Anonymous | Aug 19, 2011 | |
Printed | Page 446 Code Up Close, 1st "callout" |
Book says: |
Anonymous | Aug 19, 2011 | |
Printed | Page 448 Geek bits, first paragraph |
>hand-deliver the these Note from the Author or Editor: |
Thomas Kennedy | Nov 10, 2010 | Aug 19, 2011 |
Printed | Page 452 Comment pointing to NoQuarterState class |
"Note that this can be slightly dangerous if you try to access this field once its been serialized and transferred." |
B Hillebrecht | Jun 24, 2009 | Aug 19, 2011 |
Printed | Page 455 GumballMonitorTestDrive code |
As written, the GumballMonitorTestDrive will fail with a NullPointerException if a GumballMachineRemote fails to initialize. Note from the Author or Editor: |
Anonymous | Jun 24, 2009 | |
Printed | Page 456 Code execution windows at the bottom of the page |
java GumballMachine santafe.mightgumball.com 100 |
Anonymous | Aug 19, 2011 | |
Printed | Page 457 Code execution window |
java GumballMonitor |
Anonymous | Aug 19, 2011 | |
Printed | Page 465 paintIcon code |
The code is not thread safe for all the reasons you list in the singleton pattern pg 182 . Note from the Author or Editor: |
Anonymous | ||
Printed | Page 471 middle column, top paragraph |
"If they were coupled the client would have to wait until each image is retrieved before it could paint |
Anonymous | Aug 19, 2011 | |
Printed | Page 480 interface diagram |
The text says "Look at the InvocationHandler interface:" but the diagram that follows is of OwnerInvocationHandler which is a class. The diagram should say ' <<interface>> InvocationHandler'. Note from the Author or Editor: |
Thomas Kennedy | Nov 15, 2010 | |
Printed | Page 507 System.out.println() line in code |
The message text in the System.out.println() statement does not match the output in the window below. |
Anonymous | ||
Printed | Page 521 Step 18 |
Second sentence should read "Let's update the simulator and give it a try:" not "...give it try:" |
Anonymous | Aug 19, 2011 | |
Printed | Page 526 bottom paragraph, first column |
"applications" should be "application's" |
Anonymous | Aug 19, 2011 | |
Printed | Page 527 second to last stanza in left column |
"repititious" should be "repetitious" |
Anonymous | Aug 19, 2011 | |
Printed | Page 527 bottom of the page |
Update the link to the MVC song to: http://www.youtube.com/watch?v=YYvOGPMLVDo |
Elisabeth Robson |
Jun 01, 2009 | Aug 19, 2011 |
Printed | Page 545 Brain Power |
interface of the HeatModel should be interface of the HeartModel. Note from the Author or Editor: |
Thomas Kennedy | Nov 17, 2010 | |
Printed | Page 553 the code block |
the doGet() should also be doPost(), for the JSP on the page 554 that requires a doPost() method. Note from the Author or Editor: |
tisiphone | May 30, 2009 | |
Printed | Page 557 1st paragraph, 2nd to last sentence |
minor typo: |
Anonymous | Aug 19, 2011 | |
Page 565 Code Method on() of the class BeatModel |
In order to have the MIDI sound output play continuously you should add the line sequencer.setLoopCount(sequencer.LOOP_CONTINUOUSLY); before starting the sequencer. Note from the Author or Editor: |
Anonymous | May 20, 2008 | ||
Page 584 3rd paragraph from the bottom (Jim:) |
"...I understand each classes? role." Note from the Author or Editor: |
Anonymous | Nov 27, 2013 | ||
Page 588 2nd column, 4th description |
"Ensures one and only object is created." Note from the Author or Editor: |
Anonymous | Nov 27, 2013 | ||
Printed | Page 591 bottom right answer on the page |
remove the sentence: |
Anonymous | Aug 19, 2011 | |
Printed | Page 613 class "ConcreteRemote" in UML class diagramm |
In the first edition (October 2004), class "ConcreteRemote" in UML class diagramm for the "Bridge" pattern on page 613 contains a method "setStation()". However, I would expect that the method shall be named "setChannel()". Note from the Author or Editor: |
Anonymous | May 21, 2008 | |
Printed | Page 620 repetition production |
Improper facing single quote to the right of the left parenthesis. |
Anonymous | Aug 19, 2011 | |
Printed | Page 620 repetition |
repetition ::= ... <expresion> should be <expression> |
Thomas Kennedy | Nov 18, 2010 | Aug 19, 2011 |