I am just playing around with the SCJP 6 Certification Training Lab. I found some of the questions a bit confusing. For example it asks for illegal identifiers and says 399ejb is not a right answer (therefore is a legal identifier) as 'it starts with a digit and is not a keyword' (see attached picture). I think a digit at the beginning is not allowed. Furthermore it says j2ee-struts is a correct answer as 'it is illegal to start with a '-'. I agree that the identifier is illegal, but the '-' is not a the beginning.