if(v > 99)
return;
Is this necessary? In the for loop, v will never be more than 99.
int ones;
int tens;
boolean zero;
if(v > 99)
return;
ones=v%10;
v=v/10;
tens=v%10;
v=v/10;
It's perfectly OK (preferred even) to declare and initialize the variable at the same time:
byte ones=v%10;
v=v/10;
byte tens=v%10;
v=v/10;
Reassigning a value to the loop index inside the loop is generally not a good idea. In this case, though, it is a particularly bad idea.