A previous errata correction states that a semicolon must be placed at the end of the code in Figure 3.4 (which shows the structure of a switch expression).
This is only true if the Optional assignment (int result =) is coded.
Without the Optional assignment, code compiles and works fine without the semicolon at the end of the curly brace - at least it does so under java 17 for me.
Note also that the default branch is required only for the switch statement that includes the Optional assignment when all cases are covered.