title: Trace a recursive method
body: <p>I am finding it very confusing to understand the concept of recursion. I am trying to trace a recursive function. Can someone please help me with that?</p>
  
  <pre><code>    public static int h(int n){
          if (n == 0)
              return 0;
          else
              return h(n-1)+1;
      }
  </code></pre>
  
  <p>When I write</p>
  
  <pre><code>int a = h(5);
  System.out.println(a)
  </code></pre>
  
  <p>I dont understand how the result produced is actually coming?</p>