public static int recursiveReverse(int number, int reversenumber){ if(number <= 0) { return reversenumber; } reversenumber = reversenumber *
I don't see any difference between the first and second example
but using a static variable in the third example is dangerous (you need to reset it each time and it's not threadsafe)