Please Explain me how i got this output.. I am new to java .. so please Explain me...

public class Exercise {

static int getAdditionalOdd(int a) {

if (a <= 1)

return 1;

int x = getAdditionalOdd(a -2);

return a + x ;

}

static void showOddNumbers(int a) {

if (a >= 1) {

System.out.println(a);

a -= 2;

showOddNumbers(a);

}

}

public static void main(String[] args) {

int number = 9;

System.out.println("Odd Numbers");

showOddNumbers(number);

System.out.println("Sum of Odds: " + getAdditionalOdd(number));

}

}

OUTPUT:

Odd Numbers:9

Sum of Odds: 25

Please Explain me how i got this Answer ... it's confusing for me...