This week's book giveaways are in the Java EE and JavaScript forums. We're giving away four copies each of The Java EE 7 Tutorial Volume 1 or Volume 2(winners choice) and jQuery UI in Action and have the authors on-line! See this thread and this one for details.

Hi this is one of the question i found in mock exam

class Stepper{ enum Roman {I,V,X,L,C,M} public static void main(String... bang){ int x=7; int z=2;

Roman r=Roman.X; do{ switch(r){ case C:r=Roman.L;break; case X:r=Roman.C; case L:if(r.ordinal()>2)z+=5; case M:x++; } z++; }while(x<10); System.out.println(z); } } --------------------------- output:21 --------------------------- i have just one statement which i did not understand

case L:if(r.ordinal()>2)z+=5; please can you explain me what does above statement mean,i really don't understand what ordinal is.

ordinal() Returns the ordinal of this enumeration constant (its position in its enum declaration, where the initial constant is assigned an ordinal of zero).

So the behaviour depends on the ordinal I = 0, V = 1, X = 2 and so on, so L,C and M > 2.