Down Home Country Coding With Scott Selikoff and Jeanne Boyarsky

Java/J2EE Software Development and Technology Discussion Blog

Java OCA 8 Programmer I Study Guide

OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808

Jeanne Boyarsky and Scott Selikoff developed a study guide for the new Oracle Certified Associate (OCA), Java SE 8 Programmer exam. The book, OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z04-808 is published by Wiley Publishing.

We are using this blog to publish information about the book such as objectives changes and any errata found within the book. To report an error in the book that is not yet listed here, please create a thread in the OCA forum and include “Sybex OCA Java 8 Study Guide” in the subject.

For those wanting to take the Oracle Java 8 OCA Exam, the official release was on January 10th. For more information, visit Oracle’s Java SE 8 Programmer I exam page. If you have any questions for us, feel free to post in the OCA forum at CodeRanch which Jeanne and Scott visit frequently.

Key links

Where to buy it

Length/score

Oracle has a tendency to change this information from time to time. As of May 14, 2017:

Changes to the objectives

Online Material

Blog posts related to OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z1-808:

Errata

The table is sortable so you can see focus on the errata by criticality, chapter or see the ones added since you last checked. To report a potential error, please create a thread at http://www.coderanch.com/forums/f-117/ocajp. Be sure to include “Sybex” and the chapter and/or page number in the subject.

Note: If you got the second printing of this book (late 2016), most of these errata have been corrected.

Page Chapter # Error Type of error Reported by/via Confirmed on Listed on Wiley’s errata Fixed in 2nd printing*
xxvii Intro Develop code that uses wrapper classes such as Boolean, Double, and Integer should be listed as being in chapter 3, not chapter 1 Typo Malik Ashter Mehdy 2018-08-11 No No
xxxiv Intro #9 – there is a stray “a” after (Choose all that apply) Typo (e-book only) Alex 2014-12-171 Yes Yes
xxxvi Intro #12 – choice C should read Color: white rather than Color: White Typo Chris McDowell 2016-07-22 No No
xxxvooo Intro #17 – choice D should end with 5)); rather than 5); Typo Igor Soudakevitch 2016-11-27 Pending No
xxxix Intro #1 – “a_b defaults to a null value” should be “$ defaults to 0” Error in mock explanation Mushfiq Mammadov 2015-10-11 Yes No
xxxix Intro #3 – The answer is correct. In the explanation, “Puma is invalid” should be “Cougar is invalid” for the explanation for D. And “E is incorrect” should be “E is correct”. In the second printing, we introduced a regression error. It should be “since the declaration in the parent iass Puma is invalid” and then “the declaration of Puma is invalid” Error in mock explanation Alan Couze 2015-08-03 Yes Partially
xxxix Intro #4 – The answer is correct. In the explanation, the first bullet should say “starts” rather than “continues” and the assignment of 1, 2, etc is to count. The complex expression spelled out is y. Also, in the second bullet, 1 + 4 should say 1 + 5. Error in mock explanation Elena Felder and Alan Couze 2015-04-04 and 2015-08-03 Yes Yes
xxxix Intro #4 – If you have the second printing, bullet 3 should say (1+4) % 3 and 5 % 3 rather (1+5) % 3 and 4 % 3. Error in mock explanation Olivier Ska 2016-11-17 Pending No
xli Intro #10 – “Reference one points to g1” should be “Reference one points to g2” Error in mock explanation Mushfiq Mammadov 2015-10-11 Yes Yes
xli Intro #13 – “options D and E are correct” should be “options D and E are incorrect” Error in mock explanation Diarmuid Naughton 2015-10-11 Yes Yes
xli Intro #13 – “since the pre-increment operator” should be “since the pre-decrement operator” Error in mock explanation Vitaliy Ovcharenk 2017-05-14 TBD TBD
xli Intro #13 – “Since luck is not less than 10” should be “Since luck is not greater than 10” Error in mock explanation Ganesh Pateka 2017-11-29 TBD TBD
xli Intro #14 – All reference to “array” in the explanation should be “List” Error in mock explanation Late Preteen 2021-06-30 TBD TBD
xlii Intro #16 – The answer is correct. “because an interface may inherit two abstract methods with the same signature” should be “ a class”, not “an interface”. The statement isn’t wrong, but in the question it’s a class. Error in mock explanation Elena Felder 2015-04-04 Yes Yes
xlii Intro #17 – The answer is correct. In the second to last sentence, “not inferring predicates” should be “of inferring predicates” Error in mock explanation Guram Savinov 2017-10-15 No No
4 Chapter 1 “each of these five words is in” should be “six words.” Typo Kevin Abel 2015-03-xx Yes Yes
8 Chapter 1 The stack trace should have “mainmethod.” removed. Also, it should refer to line 4 rather than line 7 Typo Michel Parisien 2015-12-26 Yes Yes
10 Chapter 1 In the fourth line of the second paragraph, “From example” should be “For example”. Typo Michel Parisien 2015-12-26 Yes Yes
12 Chapter 1 The import should be java.nio.file.Paths not java.nio.files.Paths. Typo Mushfiq Mammadov 2015-03-20 Yes Yes
18 Chapter 1 The middle code block should have > instead of < on line 5.Typo Gabriel Jesus 2015-02-xx Yes Yes
21 Chapter 1 In the first sentence, “their size in bytes” should be “their size in bits” Typo Bart Presso 2018-01-15 Yes No
30 Chapter 1 The compiler error message at the top of the page should refer to line 7 rather than line 5. Typo Michel Parisien 2015-12-26 Yes Yes
31 Chapter 1 At the end of the second paragraph, “simplest type it can give the value” should be “simplest value it can give the type” Typo Michel Parisien 2015-12-26 Yes Yes
Chapter 1 review questions (e-book only) Chapter 1 In some of the review questions, the line break is missing between the code that would be in different files. You can assume that each package statement starts a new file. Rendering error Tom Keegan 2015-12-26 Pending No
53 Chapter 2 On the first line of table 2.1, ~ should be in the other unary operators section. And on the last line of the table, !=, should be |=. (This isn’t on the exam though so don’t worry). Typo Steve Aaron 2015-04-02 Yes Yes
54 Chapter 2 In “resulting in a value of x of 7. Make sure you understand why the result is 24”, the 7 and 24 should be 14 Typo Edward Rance 2015-02-03 Yes Yes
54 Chapter 2 In “int x = 2 * ((5 + 3) * 4 – 8); This time you would evaluate the addition operator 10 + 3 “, the 10 should be 5. Typo Edward Rance 2015-02-03 Yes Yes
54 Chapter 2 In the third to last paragraph, “except boolean and String” should be “except boolean” since String is not a primitive Incorrect fact Juliet Smith 2015-07-28 Pending No
55 Chapter 2 In the first paragraph “9 to 12” should be “11 to 12” Typo Mike Kenyon 2017-08-11 Pending No
55 Chapter 2 In the note “floating-point integers” should be “floating-point numbers” Typo Olivier Ska 2016-11-17 Pending No
57 Chapter 2 In the second sentence, “multiplied” should be “divided”. Typo Mushfiq Mammadov 2015-07-01 Yes Yes
58 Chapter 2 In the second to last sentence of the last paragraph, “the value return” should be “the value returned” Typo Tia Smith 2017-07-10 No No
61 Chapter 2 9l should be 9f on the first row Typo Mushfiq Mammadov 2015-03-30 Yes Yes
62 Chapter 2 “The compound operator will first cast x to a long” – “x” should be “y” Typo Gabriel Jesus 2015-02-24 Yes Yes
64 Chapter 2 Figure 2.1 says “true tables” rather than “truth tables” Typo Dan 2015-02-xx Yes Yes
69 Chapter 2 “block of statement” should be “block of statements” Typo Michel Parisien 2015-12-27 Yes Yes
71 Chapter 2 The first code example shouldn’t have “final” so the ternary operator is equivalent. Typo Jan Stückrath 2016-01-19 Yes Yes
72 Chapter 2 There’s no reason to mention Java 7 in the sidebar about the ternary operator. The behavior hasn’t changed. Typo Mathias Bader 2015-04-11 Yes Yes
73 Chapter 2 “int and Integer” is listed twice in the bulleted list. Typo Scott Selikoff 2014-11-xx Yes Yes
82 Chapter 2 In the first example on the page, System.out.print(x) should be removed Typo Elena Felder 2015-04-04 Yes Yes
82 Chapter 2 At the bottom of the page, “In the first example, y and z were both long” should be “In the multiple terms example, y and z were both long” Typo Gabriel Jesus 2015-02-26 Yes Yes
83 Chapter 2 Figure 2.8 says “semicolon” rather than “colon” when pointing to a colon Typo Dan 2015-02-xx Yes Yes
83 Chapter 2 In Figure 2.8, the title should be “enhanced for-each statement” rather than “enhancement for statement” Typo Roel De Nijs 2015-04-02 Yes Yes
86 Chapter 2 In the second for loop example on the page, there should be a comma in the code to match the output. Typo Mushfiq Mammadov 2015-04-02 Yes Yes
87 Chapter 2 The table should have “7” indented one less space. So “7” should be aligned the “9” above it. Typo
Igor Dvorkin
2020-09-19 TBD TBD
87 Chapter 2 The semicolon is missing after x-=2 Typo
Tawanda Douglas Muringani/a>
2017-03-10 TBD TBD
91 Chapter 2 In table 2.5, the second table header should be “Allows unlabeled break” Factual Matt Road 2015-10-02 Yes Yes
95 Chapter 2 Mock Question #6 – The code on line 6 should say “Just Right” rather than “Just right”. Typo Igor Soudakevitch 2016-11-19 Pending No
96 Chapter 2 Mock Question #8 – Answers C & E are duplicates. Conveniently, they are both wrong so this doesn’t affect the answer. Typo Mushfiq Mammadov 2015-04-06 Yes Yes
102 Chapter 3 In the third to last paragraph “of type name” should be “named name” Typo Charles O’Leary 2017-05-07 No No
107 Chapter 3 The type of the second parameter for indexOf() should be an int. Also, the first parameters is an int, not a char. (But on the exam, you’ll only be passed a char.) Note: this was partially correct in the second printing. Typo Mushfiq Mammadov 2015-04-08 Yes Partially
107 Chapter 3 The return type for the substring() methods should be String not int. Typo Cedric Georges 2015-03-18 Yes Yes
108 Chapter 3 The method signatures for toLowerCase() and toUpperCase() are wrong. They do not take a String parameter. Typo Mushfiq Mammadov 2015-04-08 Yes Yes
108 Chapter 3 In the fifth paragraph, “second example in this set throws an exception because the indexes can be backward” should be “can’t” Typo Elena Felder 2015-04-04 Yes Yes
109 Chapter 3 The method signature for equals() takes an Object, rather than a String. This also could use some explanation that on the exam, you’ll only get passed a String even though the method allows anything to be passed in. (As you might guess, if you pass anything that isn’t a String, the method returns false). Similarly, other methods allow any CharSequence, but you only have to know String. Typo Mushfiq Mammadov 2015-04-08 Yes Yes
111 Chapter 3 String result = lowercase.replace(‘a’, ‘A’); incorrectly shows the output as “Animal”. It should be “AnimAl” Wrong output Chris Kuyler 2015-01-26 Yes Yes
111 Chapter 3 In the third paragraph, the sentence that begins with “It also creates” should end with “AnimAl” instead of “Animal” as should the comment Wrong output Tomas Castagnino 2017-05-20 No No
111 Chapter 3 In the third paragraph, there is a stray quote. “‘C’ should be ‘C’ Typo Mushfiq Mammadov 2015-04-15 Yes Yes
115 Chapter 3 On line 6, the comment should have a dash at the end Typo Mushfiq Mammadov 2015-07-10 Yes Yes
118 Chapter 3 In the code example, line 7 should have been t1 == t3. It’s not wrong as is, but not what we intended Typo Mushfiq Mammadov 2015-07-06 Yes Yes
120 Chapter 3 On the first line, “set all the elements” should be “all elements are set” Typo Elena Felder 2015-04-04 Yes Yes
120 Chapter 3 On the first line, “set all the elements” should be “all elements are set” Typo Elena Felder 2015-04-04 Yes Yes
123 Chapter 3 “element of number to 5” should be “element of numbers to 5” Typo Lake Greene 2020-12-26 Yes Yes
124 Chapter 3 Instead of “variable” for length, it should say “field” Typo Roel De Nijs 2015-08-01 Yes Yes
124 Chapter 3 There is a stray “L” at the beginning of the second line of the for loop. Typo Chris Kuyler 2015-01-26 Yes Yes
125 Chapter 3 In the last paragraph, “line 5 searches for the index of 1” should be “line 6”. Typo Elena Felder 2015-04-01 Yes Yes
126 Chapter 3 In the first paragraph, “line 3 (or 4) gave the wrong answer” should be line 7. Typo Mushfiq Mammadov 2015-04-15 Yes No
126 Chapter 3 The second to last sentence of the second to last paragraph should end with “the target is in” rather than “the target it is” Typo Igor Soudakevitch 2016-11-19 Pending No
126 Chapter 3 The type of numbers should be int[] rather than int. Typo Cedric Georges 2015-03-24 Yes Yes
127 Chapter 3 On line 5, “There'” should be “There’s” Typo Olivier Ska 2016-11-17 Reported No
127 Chapter 3 The variable in the last line of code should be “differentSizes” rather than “different size” Typo Igor Soudakevitch 2016-11-19 Pending No
129 Chapter 3 The first import is missing the semicolon. Typo Mushfiq Mammadov 2015-04-15 Yes Yes
136 Chapter 3 In the last paragraph of the Autoboxing section, “outputs 1” should be “outputs [1] Typo Mushfiq Mammadov 2015-03-07 Yes Yes
137 Chapter 3 In the second paragraph, “is also known a backed List” should be “is also known as a backed List” Typo Ian Gatenby 2017-03-16 No No
137 Chapter 3 In the comment on line 26, “UnsupportedOperation Exception” should be “UnsupportedOperationException” Typo Philippe De Neve 2017-06-19 No No
138 Chapter 3 On the sixth line of code the // is missing after the semicolon Typo Igor Soudakevitch 2016-11-19 Yes Yes
141 Chapter 3 Month.January should be Month.JANUARY Typo Murat 2018-12-15 No No
141 Chapter 3 The last method signature is missing the variable name time. (The data type is there though). Typo Cedric Georges 2015-03-23 Yes Yes
141 Chapter 3 In the code example, a semicolon is missing when creating the LocalDate Typo Mushfiq Mammadov 2015-03-23 Yes Yes
142 Chapter 3 In the first paragraph, Calendar was introduce in 1.2, not 1.1. Typo Igor Soudakevitch 2016-11-19 Pending No
143 Chapter 3 In the second to last example, date 2 should be date. Typo Mushfiq Mammadov 2015-04-15 Yes Yes
146 Chapter 3 LocalDateTime has a toEpochSecond() method, not a toEpochTime() method Wrong API Cedric Georges 2015-03-28 Yes Yes
147 Chapter 3 wrong = Period.ofWeeks(7); –> should be replaced with : wrong = Period.ofWeeks(1); Typo Cedric Georges 2015-03-23 Yes Yes
148 Chapter 3 The line with LocalDateTime is missing a line break before the println Typo Scott Selikoff 2015-08-28 Yes Yes
150 Chapter 3 In the dd description, it should say single-digit date rather than month Typo Mushfiq Mammadov 2015-04-15 Yes Yes
168 Chapter 4 In the first paragraph of “Optional Specifiers”, it says “And since it is optional, you can’t have any of them at all.” This should say “And since it is optional, you are allowed to not have any of them at all.” Bad English on our part! Typo Elena Felder 2015-04-04 Yes Yes
170 Chapter 4 the long() method has a stray ] at the end of of it Typo Helen Colson 2014-05-15 Yes Yes
170 Chapter 4 the long() method doesn’t compile both because of the return type and the method name. (A better name for the method would have been better, such as longMethod.) Typo Mathias Bader 2014-04-13 Yes Yes
172 Chapter 4 The f irst sentence after three lines of code says: “Walk1() is a valid method declaration without an empty method body.” It should be “with”. Typo Mathias Bader 2014-04-14 Yes Yes
172 Chapter 4 public void walk2; should be public void walk2(); Typo Mushfiq Mammadov 2014-09-04 Yes Yes
173 Chapter 4 Second line before heading: “Line 20 calls a vararg parameter two parameters” should be “Line 20 calls a vararg method with two parameters.” Typo Mathias Bader 2014-04-14 Yes Yes
178 Chapter 4 In the comment on line 3, “bird” should be “Bird” Typo Igor Soudakevitch 2016-11-27 Pending No
179 Chapter 4 “Bird is not a subclass of Bird” should say “Bird is not a subclass of Goose” Typo Jan Stückrath 2016-01-19 Yes Yes
184 Chapter 4 Line 14 of the code is missing the type. It should be double Typo Mushfiq Mammadov 2014-04-21 Yes Yes
184 Chapter 4 Table 4.3 is incorrect (and confusing.) An instance method or variable can be called using a reference variable from any context. Was trying to convey that you can call a static method from an instance method but not vice versa (when no reference variables are involved) Confusing/incorrect table Suresh Regmi 2015-07-24 Yes Yes
187 Chapter 4 In the big paragraph, the last sentence should say “when static imports shine” rather than “when static interfaces shine” Typo Mike Kenyon 2017-08-27 No No
188 Chapter 4 The last line should read newNumber(num) to be a proper example of pass by value Typo Mushfiq Mammadov 2015-04-28 Yes Yes
191 Chapter 4 In the fourth paragraph, fifth sentence, “numbers” should be “number” Typo Mushfiq Mammadov 2015-04-28 Yes Yes
191 Chapter 4 In the first sentence of the overloading methods section, it should say “same name” not “same signature” Typo Mushfiq Mammadov 2015-04-27 Yes Yes
192 Chapter 4 “everything other than the method signature can vary for overloaded methods”. This should be method name and not method signature. Typo Elena Felder 2015-04-04 Yes Yes
192 Chapter 4 The fly methods that take and int and short should print different things. In particular, the first should print int. Typo Mathias Bader 2014-04-14 Yes Yes
194 Chapter 4 There should be space at the end of both example outputs. In the second paragraph “string object” should be “string object ”. In the second paragraph of “Primitives” section “int long” should be “int long ” and “long long” should be “long long ”. Unfortunately, it is difficult to represent spaces in output, so we should have used a dash or some other visible character. Typo Mushfiq Mammadov 2015-04-27 Yes Yes
199 Chapter 4 “When overloading methods, the method name and parameter list needed to match.” is incorrect. Just the method name needed to match. The whole point is that the parameter list does not match! Incorrect fact Elena Felder 2015-04-04 Yes Yes
203 Chapter 4 In the third sentence “lines 4 and 5 should be “lines 4, 5 and 6” when referring to the static initializer. In the second printing it says lines 5 and 6. Typo Mushfiq Mammadov 2014-09-04 Yes Partially
204 Chapter 4 After “output Torchie”, it should say “Line 6 then outputs 1.” In the second printing, the period is missing Typo Steve Aaron 2015-04-02 Yes Partially
206 Chapter 4 Table 4.5 is incorrect. It is legal (but less common) for a boolean getter to begin with get rather than is. This means that line 14 is just fine as a boolean getter. Incorrect fact I Danilov 2015-03-17 Yes Yes
209 Chapter 4 “that that” has a duplicate word on the seventh line Typo Mushfiq Mammadov 2014-09-04 Yes Yes
210 Chapter 4 The example with line numbers 1-18 should either include the java.util import or not start with line 1. Missing import Mushfiq Mammadov 2015-05-01 Yes Yes
211 Chapter 4 “Java replies” should be “Java relies”. Typo Elena Felder 2015-04-04 Yes Yes
211 Chapter 4 The first code example under Lambda Syntax (canHop) should not have a semi-colon. Typo Mushfiq Mammadov 2014-09-04 Yes Yes
213 Chapter 4 “Lambdas are allowed to access variables” is in the real world scenario twice. The first sentence should be removed. Typo Elena Felder 2015-04-04 Yes Yes
216 Chapter 4 In the summary section, (a -> a.equals(b) has an extra open paren. It should be a-> a.equals(b) Typo Mushfiq Mammadov 2015-05-01 Yes Yes
219 Chapter 4 #7 – ClassRoom should be Classroom. The actual code is correct. Typo Elena Felder 2015-04-04 Yes Yes
219 Chapter 4 #7 – In line 6, there is an extra quote. Typo Mathias Bader 2014-04-14 Yes Yes
222 Chapter 4 #11 – answers D and E should have an extra space at the end Missing spaces Mushfiq Mammadov 2015-05-01 Yes Yes
226 Chapter 4 #19 – In the choice G, the closing > is missing. Give yourself if you got the answer right except for leaving out G. Typo Mushfiq Mammadov 2015-05-01 Yes Yes
229 Chapter 4 #25 – answers A through D should have an extra space at the end Missing spaces Mushfiq Mammadov 2015-05-01 Yes Yes
229 Chapter 4 #25 – 1000L should be 100L. This doesn’t affect the correct answer. Typo Mushfiq Mammadov 2015-12-19 Yes Yes
237 Chapter 5 In the paragraph after the note, the second sentence should not say “can be accessed only by a subclass”. That would be protected, default access. Incorrect fact Willyan Silva 2016-02-03 Pending No
239 Chapter 5 “user” should be “use” in “Notice the user of both super() and super(age)” Typo Cedric Georges 2015-05-14 Yes Yes
241 Chapter 5 In the last sentence of paragraph 2, “Java compile” should be “Java compiler” Typo Igor Soudakevitch 2016-11-27 Pending No
246 Chapter 5 The phrase “a method” is duplicated near the end of the page Typo Mushfiq Mammadov 2015-05-10 Yes Yes
247 Chapter 5 The numbers output should be 50.0 and 70.0, not 50.00 and 70.00 Typo Mushfiq Mammadov 2015-05-10 Yes Yes
249 Chapter 5 In “since the signature changes from a no-argument constructor to a constructor”, the word “constructor” should be “method” both times. Typo Peter Deak 2016-02-18 Yes Yes
249 Chapter 5 “the return type void is not a subclass of int” is reversed. Swap int and void in the sentence Typo Cedric Georges 2015-05-14 Yes Yes
249 Chapter 5 In the last paragraph, “on the example” should be “on the exam” Typo Jan Stückrath 2016-01-19 Yes Yes
254 Chapter 5 “Overriding vs. Hiding Methods” section, the second paragraph, the second sentence should refer to super rather than a static method to refer to a superclass method. Typo Mushfiq Mammadov 2015-05-14 Yes Yes
261 Chapter 5 In the first sentence, “brackets” should be “braces”. (<> are braces, [] are brackets) Typo Elena Felder 2015-04-04 Yes Yes
262 Chapter 5 In the second paragraph, “access modified” should be “access modifier” Typo Unknown user 2018-07-28 Yes No
263 Chapter 5 The second to last sentence in the second paragraph should read “The key point is that the first concrete class to extend the abstract class must implement all inherited abstract metthods. Typo Bram Vonk 2015-12-15 Yes Yes
265 Chapter 5 The third rule for abstract classes is incomplete. You aren’t allowed protected abstract classes either. Protected classes aren’t on the exam, but the protected keyword is so a reader might be wondering. Protected inner abstract classes, as well as private, are allowed, so page should be updated to remove private, not add protected. Incomplete statement Ben Pittens 2016-01-15 Yes Yes
267 Chapter 5 The fourth rule for interfaces is incorrect. An interface is allowed to (but discouraged) from having the abstract modifier. It’s use is discouraged although you may see it in the cert exam. Incorrect fact I Danilov 2015-03-18 Yes Yes
269 Chapter 5 “using the extend keyword” should be “using the extends keyword” Typo Cedric Georges 2015-06-04 Yes Yes
272 Chapter 5 The second Bear class should have //DOES NOT COMPILE on line 1 as well. Typo Mushfiq Mammadov 2015-09-29 Yes Yes
274 Chapter 5 “The compile will” should be “The compiler will” Typo Cedric Georges 2015-06-04 Yes Yes
276 Chapter 5 At the bottom of the page, “the following class” should say “the following interface” Typo Mushfiq Mammadov 2015-09-29 Yes Yes
285 Chapter 5 At the bottom of the page, the coding “Feeding reptile” should be “Feeding: “ Typo Mushfiq Mammadov 2015-09-29 Yes Yes
289 Chapter 5 It would be clearer if “Parent methods and objects can be accessed explicitly using the super keyword.” was “Parent methods and instance variables can be accessed explicitly using the super keyword.” Typo Juliet Smith 2015-08-04 Pending No
337 Chapter 5 In the polymorphism exam essentials, “the ability of methods” should be “the ability of method parameters” Typo Vlad Alin 2021-12-07 No No
290 Chapter 5 The last word on the page should be “ClassCastException” rather than “CastClassException” Typo Juliet Smith 2015-08-04 Pending No
291 Chapter 5 #2 – Choice E should reference line 7, not line 8 Typo Mushfiq Mammadov 2015-05-15 Yes Yes
294 Chapter 5 #10 – In choice C, “extend” should be “extends” Typo Roel De Nijs 2015-09-29 Yes Yes
295 Chapter 5 #13 – The < is missing on line 1 of the provided codeTypo Mushfiq Mammadov 2015-05-15 Yes Yes
301 Chapter 6 mainmethod.Zoo.main should be Zoo.main and line 7 should be line 4 in the stack trace Typo Mushfiq Mammadov 2015-10-06 Reported No
308 Chapter 6 “The catch block runs and she gets a hug on line 17. Then the try statement is over and the code proceeds on line 21. ” – This misses the fact that finally is run first. Incorrect fact Habtamu Abebe 2017-10-28 No No
311 Chapter 6 “making sure there no way” should be “making sure there is no way” Typo Tom Jacobs 2019-01-20 No No
312 Chapter 6 The text says the exception is not caught from close(), but it is. Old text Cedric Georges 2015-07-26 Reported No
313 Chapter 6 On the first line “runs after the try block” should be “runs after the catch block” Typo Mushfiq Mammadov 2015-10-06 Pending No
313 Chapter 6 There should be spaces in the before/catch/etc example. Unfortunately, it is difficult to represent spaces in output, so we should have used a dash or some other visible character. Typo Saad Benbouzid 2015-07-24 Yes Yes
314 Chapter 6 In the ClassCastException section, “cast an exception to a subclass” should be “cast an object to a subclass” Typo Vince Botteman 2015-06-17 Yes Yes
316 Chapter 6 The setNumberEggs method should not be static Typo Mushfiq Mammadov 2015-10-06 Pending No
317 Chapter 6 “Common runtime exceptions” should be “Common checked exceptions” Typo Vince Botteman 2015-06-17 Yes Yes
335 Chapter 1 mock explanation #12 – “If this question were about instance variables, options D and F would be correct”. This should be “options C, D and F would be correct” Error in mock explanation Olivier Ska 2016-11-17 Pending No
335 Chapter 1 mock explanation #12 – the explanation should end with “0.0f” rather than “0.0” Error in mock explanation Guram Savinov 2017-11-14 Pending No
335 Chapter 1 mock explanation #14 – The answer is correct. The explanation about case sensitivity applies to why C is wrong rather why B is wrong Error in mock explanation Mushfiq Mammadov 2015-03-20 Yes Yes
337 Chapter 2 mock explanation #7 – The answer is correct. The explanation should say “Since x is greater than 4″ rather than “Since x is greater than 2”. – not an error Error in mock explanation Vlad Alin 2021-12-07 No N/A
338 Chapter 2 mock explanation #13 – The answer is correct. The explanation should say “b is assigned true on line 5″ instead of “b is assigned true on line 3”. Error in mock explanation Shavkat Juraev 2018-02-11 No No
338 Chapter 2 mock explanation #14 – The answer is correct. The second sentence should say “so c is incremented to 8” not “so c is incremented to 4” Error in mock explanation Scott Selikoff 2018-12-05 No No
338 Chapter 2 mock explanation #14 – The answer is correct. The explanation should say “The value of result is computed by adding 8 to the original value of 4” rather than the other way around. Error in mock explanation Steve Aaron 2015-04-02 Yes Yes
338 Chapter 2 mock explanation #17 – The answer is correct. The explanation should say “keepGoing remains true” rather than “keep going is false. Error in mock explanation Mushfiq Mammadovand Cian Gardiner 2015-04-07 Reported Yes
338 Chapter 2 mock answer #18 – The answer explanation is correct that the answer should be B. It is incorrectly listed as choice A in the answer listing. Error in mock explanation Dominik Bauer 2015-04-30 Reported No
338 Chapter 2 mock explanation #18 – The first sentence should be “The expression on line 6” rather than “The expression on line 5” Error in mock explanation Olivier Ska 2016-11-17 Pending Yes
339 Chapter 2 mock explanation #19 – The answer is correct. The second to last sentence of the explanation should say “6 > 7” rather than “6 < 7”.Error in mock explanation Christian Dadulla 2018-02-01 No No
339 Chapter 3 mock explanation #2 – The answer is correct. The explanation should say “Line 8 also compares references but is true since both references point to the object from the string pool. Finally, line 9 compares one object from the string pool with one that was explicitly constructed and returns false.”. Error in mock explanation Cedric Georges 2015-03-29 Yes Yes
340 Chapter 3 mock explanation #4 -abbbaa has an extra b. There should only be two b’s. Typo Mushfiq Mammadov 2015-03-23 Yes Yes
340 Chapter 3 mock explanation #9 -“Finally, on line 6” should be “Finally, on line 7” Typo Charles O’Leary 2017-05-20 No No
340 Chapter 3 mock explanation #10 – The answer is correct. The explanation should read “The if statement on line 18 returns true because”. Error in mock explanation Cedric Georges 2015-03-29 Yes Yes
341 Chapter 3 mock explanation #14 – The answer is correct. The explanation assumes choice B is puzzle.reverse().append(“vaJ$”).substring(0, 4); So while the answer choice for B in the book isn’t what was intended, it is at least still wrong. Error in mock explanation Mushfiq Mammadov 2015-04-20 Yes Yes
341 Chapter 3 mock explanation #14 – In the second printing, the answer is correct. The explanation should say that length counts the number of characters in a string. Error in mock explanation Roel De Nijs 2015-04-20 Yes Yes
342 Chapter 3 mock explanation #26 – The answer is correct. The explanation should say that the code does compile, not that it doesn’t. Error in mock explanation Cedric Georges 2015-03-30 Yes Yes
344 Chapter 4 mock answers #9. The correct answer is A, C and E. But if you got C and E, give yourself credit for getting it correct. The chapter text is incorrect on this, but the exam doesn’t cover this edge case. (In fact, it doesn’t cover JavaBeans at all. That is in the book, in case it is added back in). Error in mock answer I Danilov 2015-03-17 Yes Yes
344 Chapter 4 mock explanation #10, should say “swing ” instead of “swing” (missing space) Typo Mushfiq Mammadov 2015-05-01 Yes Yes
344 Chapter 4 mock explanation #15 – We autobox to objects so it should say “can be autoboxed to a Boolean” rather than “boolean.” And “autoboxed to a Double” rather than “double”. Error in mock explanation Elena Felder 2015-04-04 Yes Yes
344 Chapter 4 mock explanation #17 – “pass by reference” should be “pass by value” Typo Mushfiq Mammadov 2014-09-04 Yes Yes
345 Chapter 4 mock explanation #23 line 4 should say line 12 and line 5 should say line 13 Error in mock explanation Mushfiq Mammadov 2015-05-01 Yes Yes
346 Chapter 5 mock explanation #2 – The answer is correct. The comment about what would happen if the code did compile is incorrect. The code was intended to instantiate a Platypus rather than a Mammal Error in mock explanation Paul F.J. Aranas 2015-05-15 Yes Yes
347 Chapter 5 mock explanation #3 – CanHope should be CanHop Typo Mushfiq Mammadov 2015-05-15 Yes Yes
347 Chapter 5 mock explanation #8 – The first sentence should note that that constants are also final in an interface Typo Mushfiq Mammadov 2015-09-29 Yes Yes
348 Chapter 5 mock explanation #18 – The answer should say that String is not a subclass of int rather than the reverse Typo Mushfiq Mammadov 2015-09-29 Yes Yes
350 Chapter 6 mock explanation #8 – “try try” should be “the try” Typo Mushfiq Mammadov 2015-05-24 Yes Yes
350 Chapter 6 mock explanation #9 – there should be space at the end of both example outputs. Unfortunately, it is difficult to represent spaces in output, so we should have used a dash or some other visible character. Typo Mushfiq Mammadov 2015-05-24 Reported No
355 Appendix In the second to last paragraph, “to the take the exam” should be “to take the exam” Typo Mario Rincon 2018-10-03 Reported No

The question that contains LocalDate d = LocalDate.of(2015, 5); should be LocalDate d = LocalDate.of(2015, 5, 1);. As worded now the answer is E (does not compile) which is not the intent.

(duplicate of following line)

Want to report an errata? Post it at the OCA forum at CodeRanch.