i agree it should be "e". the expression inside the parens of a while statment MUST evaluate to 'true' or 'false'. y-- does not, and will never, evaluate to one of those two values.
now, if this were writen in C/C++, that kind of logic is valid. but this isn't the CRanch.
:-)
There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors
The ultimate test for a would be SCJPG (Sun Certified Java Programming Guru) is to find out which mock examination examples answers are sometimes very very wrong